* {
    font-size: 1em;
    font-family: ui-sans-serif;
}

h1 {
    font-size: 1.2em;
}

h2 {
    font-size: 1.0em;
    margin-left: 1em;
}

button,
input {
    /* ユーザーエージェントスタイルシートをリセット */
    padding: 0;
    border: 0;
    border-radius: 0;
    color: inherit;
    appearance: none;

    /* 高さに影響するプロパティが同じ値であることを確認 */
    font-size: 1em;
    line-height: 1.2;
    padding: 0.5em var(--padding-x);
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
}

/* button */
button {
    display: inline-flex;
    justify-content: center;
    /* コンテンツを水平方向に中央揃え */
    align-items: center;
    /* コンテンツを垂直方向に中央揃え */
    --padding-x: 1.2em;
    /* button要素のborderを隠す */
}

/* input */
input {
    --padding-x: 0.5em;
}