body {
    line-height: 1.6;
    color: #222;
    background: #fafafa;
    margin: 40px;
    font-family:
        "Yu Gothic",
        -apple-system,
        "Hiragino Kaku Gothic ProN",
        "Noto Sans JP",
        "Segoe UI",
        sans-serif;
}

.container {
    max-width: 900px;
    margin: auto;
}

.img-preview {
    margin-top: 20px;
    margin: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    /* 画面幅に応じて折り返す場合 */
    gap: 32px;
    background-color: #FFF;
    padding: 32px;
}

.img-preview img {
    width: 128px;
    height: auto;
}

.h_detail {
    border: solid #032d80;
    border-width: 0 0 4px;
    padding: 0 0 20px;
    margin: 0 0 30px;
    font-weight: bold;
}

.sample-table {
    width: 100%;
    border-collapse: collapse;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 14px;
    background: white;
    border-radius: 8px;
    overflow: hidden;
}

.sample-table th {
    background: #f2f4f9;
    font-weight: 600;
    text-align: left;
    padding: 10px 14px;
    border-bottom: 2px solid #e5e7eb;
    border-right: 1px solid #e5e7eb;
}

.sample-table td {
    padding: 10px 14px;
    border-bottom: 1px solid #e5e7eb;
    border-right: 1px solid #e5e7eb;
}

.sample-table tr:nth-child(even) {
    background: #fcfcfd;
}

.sample-table th:last-child,
.sample-table td:last-child {
    border-right: none;
}

.sample-table a{
    color: #03318b;
    text-decoration: none;
}

.sample-table a:hover {
    text-decoration: underline;
}

@media (max-width: 768px) { 
    body {
        margin: 15px;
    }

    .sample-table th, .sample-table td {
        padding: 11px 9px;
    }
    
    .sample-table td a {
        min-height: 44px;
        padding: 10px 4px;
        /* タップ領域を視覚的サイズより広げる */
        margin: -10px -4px;
    }
    
    .sample-table {
        font-size: 15px;
    }
    
}