@charset "utf-8";

/**
FOOTER
**/
#footer {
    .footer {
        padding:60px 0;
        .footer_inner {
            max-width:1140px;
            width: calc(100% - 60px);
            margin:0 auto;
            display:grid;
            grid-template-columns:1fr auto;
            grid-column-gap:5%;
			.logo {
				.addr {
					margin-bottom:1.5em;
					.flogo {
						font-size:2.8rem;
						font-weight:700;
						display:block;
						margin-bottom:1em;
					}
					dl {
						display:grid;
						grid-template-columns:auto 1fr;
						line-height:1.5;
						grid-row-gap:.66em;
						dt,dd {
							line-height:inherit;
						}
					}
				}
				.link {
					.tel {
						display:inline-grid;
						grid-template-columns:.75em auto;
						align-items:center;
						justify-items:center;
						grid-column-gap:.2em;
						grid-row-gap:.33em;
						font-size:3.0rem;
						letter-spacing:.033em;
						margin-bottom:.66em;
						span {
							font-size:1.6rem;
							grid-area:2/1/3/3;
						}
					}
					ul {
						display:grid;
						grid-row-gap:10px;
						font-size:1.8rem;
						max-width:16em;
						li {
							a {
								display:grid;
								grid-template-columns:2.2em 9.5em .66em;
								align-items:center;
								grid-column-gap:.5em;
								border:2px solid var(--color_main);
								border-radius:8px;
								line-height:1.5;
								height:3.6em;
								padding:0 1em;
								background-color:var(--color_bg1);
								span {
									aspect-ratio:1;
									background-color:var(--color_main);
									border-radius:50%;
									display:grid;
									align-items:center;
									justify-content:center;
									grid-template-columns:60%;
								}
								&::after {
									content:'';
									aspect-ratio:1;
									border-right:2px solid var(--color_def);
									border-bottom:2px solid var(--color_def);
									transform:rotate(-45deg);
								}
								&.btn_search {
									border-color:var(--color_sub);
									background-color:var(--color_bg2);
									span {
										background-color:var(--color_sub);
									}
								}
							}
						}
					}
				}
			}
            .menu-fmenu-container {
                .menu {
                    display:flex;
					flex-wrap:wrap;
                    font-size:1.6rem;
                    grid-gap:3em 4em;
					width:34em;
                    & > li {
                        & > a {
							font-weight:600;
                        }
						&:has(ul) {
							& > a {
								display:grid;
								grid-template-columns:repeat(2,auto);
								align-items:center;
								justify-content:start;
								grid-column-gap:.5em;
								&::before {
									content:'';
									height:.9em;
									border-right:2px solid var(--color_main);
								}
							}
						}
                        ul {
                            font-size:1.4rem;
                            display:grid;
                            grid-row-gap:.66em;
                            padding-top:1.2em;
                            li {
                                display:grid;
                                grid-template-columns:.66em auto;
                                align-items:center;
                                grid-column-gap:.66em;
                                &::before {
                                    content:'';
                                    height:1px;
                                    background-color:var(--color_def);
                                }
                                
                            }
                        }
                    }
                }
            }
        }
        .copyright {
            max-width:1140px;
            width: calc(100% - 60px);
            margin:0 auto;
            display:grid;
            grid-template-columns:repeat(2,auto);
            grid-column-gap:5%;
            justify-content:space-between;
            align-items:center;
            padding-top:80px;
            .menu-fmenu2-container {
                .menu {
                    display:grid;
                    font-size:1.5rem;
                    grid-template-columns:repeat(2,auto);
                    align-items:center;
                    justify-content:center;
                    li {
                        &:first-child {
                            margin-right:1em;
                            padding-right:1em;
							border-right:1px solid var(--color_def);
                        }
                    }
                }
            }
            p {
                font-size:1.4rem;
                line-height:1.5;
            }
        }
    }
}

@media (hover:hover) {    
}

@media screen and (max-width:1200px) {

}

@media screen and (max-width:1024px) {

	/**
	FOOTER
	**/
	#footer {
	    .footer {
	        .footer_inner {
	            width: calc(100% - 50px);
	            grid-template-columns:1fr;
				grid-row-gap:50px;
				.logo {
					display:grid;
					grid-template-columns:repeat(2,auto);
					justify-content:space-between;
				}
	            .menu-fmenu-container {
	                .menu {
						width:100%;
	                }
	            }
	        }
	        .copyright {
	            width: calc(100% - 50px);
	        }
	    }
	}
    
}

@media screen and (max-width:768px) {

	/**
	FOOTER
	**/
	#footer {
	    .footer {
	        padding:50px 0;
	        .footer_inner {
	            width: calc(100% - 40px);
				grid-row-gap:40px;
				.logo {
					grid-template-columns:1fr;
					.addr {
						.flogo {
							font-size:2.0rem;
							margin-bottom:.66em;
						}
						dl {
							font-size:1.5rem;
							grid-row-gap:.33em;
						}
					}
					.link {
						display:grid;
						justify-items:center;
					}
				}
	            .menu-fmenu-container {
	                .menu {
	                    font-size:1.5rem;
	                    grid-gap:2em 2em;
	                    & > li {
	                        ul {
	                            font-size:1.3rem;
	                            padding-top:1em;
	                            li {
	                                grid-template-columns:.5em auto;
	                                grid-column-gap:.5em;
	                                
	                            }
	                        }
	                    }
	                }
	            }
	        }
	        .copyright {
	            width: calc(100% - 40px);
	            padding-top:50px;
				grid-template-columns:1fr;
				grid-row-gap:30px;
						justify-items:center;
	            .menu-fmenu2-container {
	                .menu {
	                    font-size:1.3rem;
	                    li {
	                        &:first-child {
	                            margin-right:.66em;
	                            padding-right:.66em;
	                        }
	                    }
	                }
	            }
	            p {
	                font-size:1.2rem;
	            }
	        }
	    }
	}

}