body {
    margin: 0;
    font-family: "Noto Serif JP", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-feature-settings: "pkna";
    color: #2b2b2b;
    --print-text-color-base: #000;
    --c-body-text-color-base: #2b2b2b;
    --c-light: #fafafa;
    --c-pale-gray: #f2f2f2;
    --c-light-gray: #dedede;
    --c-gray: #ccc;
    --c-mid-gray: #999;
    --c-dark-gray: #2b2b2b;
    --gap-little: .25rem;
    --gap-half: .75rem;
    --gap-thin: 1rem;
    --gap-single: 1.5rem;
    --gap-thick: 2rem;
    --gap-double: 3rem;
    --fz-sec-category-title: 1rem;
    --fz-h3: 1.5rem;
    --fz-std: 1rem;
    --fz-brief: .875rem;
    --fz-small: .75rem;
    --fz-print-small: 9pt;
}

a:link,
a:active,
a:focus,
a:hover,
a:visited {
    text-decoration: none;
    color: var(--c-body-text-color-base);
}

h1,h2,h3,h4,h5,h6 {
    font-weight: 700;
}

strong {
    font-weight: 800;
}

/*==================== mobile ====================*/
@media all and (max-width: 599px) {
    :root {
        font-size: 3.5vw;
    }

    body {
        padding: var(--gap-thin) var(--gap-thin);
    }
}

/*==================== pc_tablet ====================*/
@media all and (min-width: 600px) {
    body {
        font-size: clamp(.625em, 1.5vw, 1em);
        padding: var(--gap-thin) var(--gap-single);
    }

    main .card_holder {
        grid-template-columns: 1fr 1fr;
    }
}

/*==================== pc_wide ====================*/
@media all and (min-width: 1200px) {
    main .card_holder {
        grid-template-columns: 1fr 1fr 1fr;
    }
}