@layer lism-base {
    html { scroll-behavior: auto; }
    body { overflow-wrap: anywhere; }
    :where(img, video, iframe) { max-inline-size: 100%; }
    :where(input, textarea, select) { max-inline-size: 100%; }
    :where(a, button, summary, input, textarea, select):focus-visible {
        outline: solid var(--s5) var(--link);
        outline-offset: var(--s5);
    }
}
@layer lism-block {
    .b--button {
        padding: var(--s15) var(--s20);
        border: 1px solid var(--text);
        color: var(--text);
        background: var(--base);
        font-size: var(--fz--s);
        font-weight: var(--fw--bold);
        text-align: center;
        text-decoration: none;
        cursor: pointer;
    }
    .b--sectionTitle {
        border-block-end: 1px solid var(--text);
        font-size: var(--fz--s);
        font-weight: var(--fw--bold);
        line-height: var(--lh--l);
    }
    .b--sectionTitle > span {
        display: inline-block;
        padding: var(--s5) var(--s15);
        color: var(--base);
        background: var(--text);
    }
    .b--kanaLink {
        display: block;
        padding: var(--s15) var(--s10);
        border: 1px solid var(--text-2);
        text-align: center;
        font-size: var(--fz--s);
        text-decoration: none;
    }
    .b--card { min-inline-size: 0; }
}
@layer lism-custom {
    .screen-reader-text:not(:focus) {
        position: absolute;
        inline-size: 1px;
        block-size: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
    }
    .c--skipLink:not(:focus) { position: absolute; clip-path: inset(50%); }
    .c--skipLink:focus { position: relative; display: block; }
    .c--siteHeader { border-block-end: 1px solid var(--divider); }
    .c--identity .custom-logo { inline-size: auto; max-block-size: var(--s70); }
    .c--menu, .c--menu ul, .c--kana, .c--manufacturerList {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .c--menu > li { display: inline-block; vertical-align: top; margin: var(--s10); }
    .c--menu a { color: inherit; font-size: var(--fz--s); font-weight: var(--fw--bold); }
    .c--menu .sub-menu { margin-block-start: var(--s10); padding-inline-start: var(--s15); }
    .c--menu .sub-menu li + li { margin-block-start: var(--s10); }
    .c--mobileNav .c--menu > li { display: block; margin: var(--s20) 0; }
    .c--desktopNav .c--menu { text-align: center; }
    .c--search input { background: var(--base); color: var(--text); }
    .c--entry { overflow-wrap: anywhere; }
    .c--entry > :where(table, pre), .c--entry .wp-block-table {
        display: block;
        overflow-x: auto;
        max-inline-size: 100%;
    }
    .c--entry :where(td, th) { padding: var(--s10); border: 1px solid var(--divider); }
    .c--entry :where(dt) { font-weight: var(--fw--bold); }
    .c--entry :where(dd) { margin-inline-start: var(--s25); margin-block-end: var(--s20); }
    .c--entry :where(img) { block-size: auto; }
    .c--entry :where(figure) { max-inline-size: 100%; }
    .c--entry :where(ul, ol) { padding-inline-start: var(--s30); }
    .c--entry :where(a) { text-decoration: underline; }
    .c--pagination ul { display: flex; flex-wrap: wrap; gap: var(--s10); padding: 0; list-style: none; }
    .c--pagination :where(a, span) { display: block; padding: var(--s10) var(--s15); border: 1px solid var(--divider); }
    .c--pagination [aria-current] { background: var(--text); color: var(--base); }
    .c--comments :where(input:not([type=checkbox]), textarea) { display: block; padding: var(--s15); border: 1px solid var(--divider); }
    .c--comments .comment-list { padding-inline-start: var(--s25); }
    .c--comments .comment + .comment, .c--comments .comment-form p + p { margin-block-start: var(--s20); }
    .c--widget > :where(ul, ol) { padding-inline-start: var(--s20); }
    .c--siteFooter a { color: inherit; }
    .post-navigation .nav-links { display: flex; flex-wrap: wrap; gap: var(--s20); justify-content: space-between; }
}
