* {
    box-sizing: border-box;
    font-stretch: 100%;
    font-variation-settings: "wght"450, "wdth"75, "ital"0;
    font-style: normal;
    font-weight: normal;
}

iframe {
    position: relative;
    max-width: 100%;
    overflow: hidden;
}

section {
    max-width: 100%;
    padding-bottom: 80px;
    overflow: auto;
}

a, span {
    display: inline-block;
}

a span {
    text-decoration: none;
}

p span {
    display: inline;
}

strong, b {
    font-weight: bold;
    font-variation-settings: "wght"600;
}

/* 見出し */
h1, h2, h3, h4 {
    display: block;
    margin: 0;
    padding: 0;
}

h1 {
    font-size: var(--font-size-xxl);
    font-variation-settings: "wght"600;
}

h2 {
    font-size: var(--font-size-l);
    font-variation-settings: "wght"500;
}

h3 {
    font-size: var(--font-size-m);
    font-variation-settings: "wght"450;
}

h4 {
    font-size: var(--font-size-xs);
    font-variation-settings: "wght"400;
}

/* メインタグ */
main {
    width: 100%;
    max-width: 100%;
    min-height: 100vh;
    margin: 0 auto;
    padding-bottom: 200px;
}

/* フッター */
footer {
    position: sticky;
    top: 100%;
    /* will-change: transform; */
}

img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* SVG */
img[src$=".svg"] {
    width: 24px;
}

svg {
    display: block;
}

/* 箇条書き */
ul,
li {
    margin: 0;
    padding: 0;
}

li {
    list-style-type: none;
}

/* テーブル */
table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    border: 1px solid #423e3e;
    padding: 10px;
    text-align: left;
}

th {
    background-color: #f2f2f2;
}

@media screen and (max-width:768px) {
    h1 {
        font-size: var(--font-size-xxl);
    }

    h2 {
        font-size: var(--font-size-m);
    }

    h3 {
        font-size: var(--font-size-s);
    }

    h4 {
        font-size: var(--font-size-xs);
    }
}
