footer {
	max-width: 1600px;
    background-color: #fff;
    color: #1a4a8f;
    padding: 0;
    font-family: 'Arial', 'Helvetica', sans-serif;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 8px;
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.1);     /* 控えめな上向きの影 */
}

.footer-hosoku {
    text-align: right;
	font-size: 0.75em;
    padding: 0 30px;
}

.footer-hosoku img {
	position: relative;
	top: 3px;
	width:15px;
	height:15px;
	border:none;
}

/* メニューコンテナと青いライン*/
.footer-container {
    margin: 0 auto;
    text-align: center;
    position: relative;    
    /* 濃い青のインナーライン */
    border: 3px solid #1a4a8f;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* 6列に横並び */
.footer-menu {
    list-style: none;
    display: grid;
    padding: 0 20px;
    grid-template-columns: repeat(6, 1fr); /* 6個の等しい幅の列 */
    gap: 15px; /* 列間の隙間 */
}

/* ================================================= */
/* 大項目のスタイル */
/* ================================================= */

.footer-menu-item1 > p {
    display: block;
    color: #1a4a8f;
    font-weight: bold;
    font-size: 0.85em;
    text-align: center;
    white-space: nowrap; /* テキストが途中で改行されないように */
    background-color: #fff;
    border: 3px solid #1a4a8f;
    padding: 8px;
    margin-bottom: 10px;
    border-radius: 4px;
}

.footer-menu-item2 > p {
    display: block;
    color: #fff;
    font-weight: bold;
    padding: 5px 0;
    text-decoration: none;
    font-size: 0.85em;
    text-align: center;
    white-space: nowrap; /* テキストが途中で改行されないように */
    background-color: #1a4a8f;
    padding: 8px;
    margin-bottom: 10px;
    border-radius: 4px;
}

/* ================================================= */
/* 小項目（子リンク）のスタイル */
/* ================================================= */

.footer-sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.footer-sub-menu li {
    display: block;
}
	
.footer-sub-menu li a {
    display: block;
    color: #1a4a8f; /* 濃い青 */
    text-decoration: underline;
	text-decoration-color: rgba(26, 74, 143, 0.6);/* 下線は60％の濃さ */
    font-size: 0.85em;
    font-weight: 500;
    padding: 5px 0;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.footer-sub-menu li a:hover {
    /* テーブルの水色帯を透明度を下げて背景に使う */
    background-color: rgba(153, 204, 255, 0.2); 
}

.footer-sub-menu img {
	position: relative;
	top: 3px;
	width:15px;
	height:15px;
	border:none;
}


/* ================================================= */
/* レスポンシブ対応 */
/* ================================================= */

@media (max-width: 1550px) {
    .footer-menu {
        grid-template-columns: repeat(5, 1fr);     /* 5列に並べ替える */
    }
}

@media (max-width: 1400px) {
    .footer-menu {
        grid-template-columns: repeat(4, 1fr); 
    }
}

@media (max-width: 1200px) {
    .footer-menu {
        grid-template-columns: repeat(3, 1fr); 
    	padding: 0 40px;
    }
}

@media (max-width: 750px) {
    .footer-menu {
        grid-template-columns: repeat(2, 1fr); 
    	padding: 0 10px;
    }

@media (max-width: 520px) {
    .footer-menu {
        grid-template-columns: 1fr; 
    	gap: 0;
    	padding: 0 40px;
    }
}