/* ===========================
   Footer
=========================== */
.footer{
    width:100%;
    max-width:1620px;
    position:relative;
    overflow:hidden;
    background:#061b3d;
    min-height:120px;
    color:white;
}

.footer-inner{
    max-width:1280px;
    margin:0 auto;
    padding:34px 0px;
    box-sizing:border-box;
}

.footer-logo {
    font-size:28px;
    letter-spacing:6px;
    font-weight:bold;
}

.footer-logo span {
    font-size:14px;
    letter-spacing:1px;
}

.footer-info{
    font-family:"Noto Serif JP", serif !important;
    display:flex;
    justify-content:flex-start;
    align-items:flex-start;
    max-width:1280px;
    margin:20px 40px;
}

.footer-left{
    width:480px;
}
.footer-title{
    margin:0 0 8px;
}

.footer-contact{
    width:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:0px;
    border-left:none;
}

.contact-item{
    display:flex;
    align-items:flex-start;
    margin-bottom:0px;
}

.contact-label{
    width:70px;
    flex-shrink:0;
    color:#ffffff;
    font-size:14px;
    font-weight:600;
}

.contact-text{
    font-size:16px;
    line-height:1.5;
}

.contact-text div:first-child{
    margin-bottom:2px;
}

@media screen and (max-width:768px){
    .footer{
        min-height:180px;
        height:auto;
        padding:10px 16px 0;
    }

    .footer-inner{
        display:block;
        padding:0;
    }

    .footer-info{
        display:block;
        margin:0;
    }

    .footer-left{
        width:100%;
    }

    .footer-logo{
        display:flex;
        align-items:flex-end;
        gap:8px;
        font-size:22px;
        font-weight:700;
        letter-spacing:4px;
        color:#fff;
        white-space:nowrap;
    }

    .footer-logo span{
        font-size:12px;
        font-weight:600;
        letter-spacing:1px;
        margin-bottom:2px;
    }

    .footer-message{
        max-width:280px;
        font-size:12px;
        line-height:1.6;
    }

    .footer-contact{
        width:100%;
        display:block;
        margin-top:12px;
        padding-left:0;
        border-left:none;
        flex-direction:row;
        align-items:flex-start;
        justify-content:space-between;
        gap:12px;
        flex-wrap:nowrap;
    }

    .footer-title{
        font-size:12px;
    }

    .contact-item{
        display:block;
    }

     .contact-row{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }

    .contact-group{
        display:flex;
        align-items:flex-start;
        gap:4px;
        white-space:normal;
    }

    .contact-label{
        width:45px;
        color:#ffffff;
        font-size:11px;
        font-weight:600;
        flex-shrink:0;
    }

    .contact-text{
        flex:1;
        font-size:10px;
        line-height:1.4;
    }
}
