@charset "utf-8";

.footer_wrap { position: relative; background: #FFF; z-index: 1; }

.footer_menu { color: #FFF; background: #2F2F2F; }
.footer_menu_list { display: grid; grid-template: repeat(5, 1fr)/repeat(2, 1fr); grid-auto-flow: column; width: min(90%, 1200px); padding: 8px 0; margin: 0 auto; }
.footer_menu_list li { display: flex; }
.footer_menu_list li a { padding: 4px; border-bottom: 1px solid transparent; }

.footer_main { display: flex; flex-direction: column; gap: 20px; width: min(90%, 1200px); padding: 20px 0; margin: 0 auto; }
.footer_outline_wrap { display: flex; flex-direction: column; gap: 12px; }
.footer_logo_img { height: 48px; vertical-align: bottom; }
/* 横に並びきらないときは、リンクを折り返さずにSNSを下の行へ回す */
.footer_outline_link { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.footer_text_link { display: flex; flex-direction: column; gap: 0.2em; }
.footer_text_link a { line-height: 1.4; border-bottom: 1px solid transparent; }
.sns_logo_link { display: flex; gap: 16px; margin-left: auto; }
.sns_logo_link img { width: 36px; }

.footer_copyright { display: flex; justify-content: center; padding: 4px 0; border-top: 1px solid #BCBCBC; }

@media ( min-width: 768px ) {
    .footer_menu_list { display: flex; flex-wrap: wrap; justify-content: center; gap: 0px 20px; width: 550px; }
    .footer_menu_list li a:hover { border-color: #FFF; }
    /* 横に並びきらないとき（iPad縦など）は、住所を折り返さずにリンクの列を下の行へ回す */
    .footer_main { flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
    .footer_outline_wrap { flex-direction: row; align-items: center; }
    .footer_logo_img { height: 120px; }
    .footer_outline_link { flex-direction: column; flex-wrap: nowrap; margin-left: auto; }
    .footer_text_link { align-items: flex-end; }
    .footer_text_link a:hover { border-color: #999; }
    .sns_logo_link a:hover { opacity: 0.5; }
}
@media ( min-width: 1025px ) {
    .footer_menu_list { width: auto; }
}
