/* info4: 共通ヘッダーの下にフォームを収める */
.mf-page {
    width: 100%;
    padding: 24px 32px 48px;
    background: #fff;
    box-sizing: border-box;
    clear: both;
}

.mf-page .mf-wrap,
.mf-page .mf-guidance {
    width: 100%;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.mf-page .mf-guidance {
    margin-top: 32px;
    padding: 18px 24px;
    border: 1px solid #d4dfd4;
    background: #faf7f7;
    box-sizing: border-box;
    font-size: 13px;
    line-height: 1.3;
}

.mf-guidance h3 { margin: 0 0 8px; font-size: 16px; }
.mf-guidance ul { margin: 0; padding-left: 1.5em; }
.mf-guidance li + li { margin-top: 6px; }

/* 入力・確認・完了画面で同じ幅と色を使う */
.mf-page .mf-title { margin-bottom: 22px; }
.mf-page .mf-table td { overflow-wrap: anywhere; }
.mf-page .mf-back-btn { color: #fff; }
.mf-page .mf-thanks-box h2 {
    padding: 0;
    background: transparent;
    color: #2d6a2d;
    font-size: 20px;
}

@media (max-width: 760px) {
    .waku, .wrapper, .header, table.header,
    .main_menu, .main_menu table, #footer, .footer_txt, .footer_shadow {
        width: 100%;
    }
    .headerlogo img, .main_menu img, .footer_shadow img {
        max-width: 100%;
        height: auto;
    }
    #apDiv2 { display: none; }
    .main_menu table, .main_menu tbody, .main_menu tr { display: block; }
    .main_menu table { border-collapse: collapse; }
    .main_menu tr {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
    }
    .main_menu td { display: block; min-width: 0; padding: 0 2px; }
    .main_menu img { display: block; width: 100%; }
    .mf-page { padding: 16px 16px 32px; }
    .mf-page .mf-table th,
    .mf-page .mf-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    .mf-page .mf-table th { padding-bottom: 6px; }
    .mf-page .mf-table td { padding-top: 8px; }
    .mf-page .mf-btn-area { flex-wrap: wrap; }
}
