    /* modern-css-reset */
    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    * {
        margin: 0;
    }

    body {
        line-height: 1.5;
        -webkit-font-smoothing: antialiased;
    }

    img,
    picture,
    video,
    canvas,
    svg {
        display: block;
        max-width: 100%;
    }

    input,
    button,
    textarea,
    select {
        font: inherit;
    }

    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        overflow-wrap: break-word;
    }

    #root,
    #__next {
        isolation: isolate;
    }

    /* iOS用フォームリセット */
    input,
    textarea,
    select,
    button {
        font: inherit;
        color: inherit;
        background-color: transparent;
        border: none;
        padding: 0;
        margin: 0;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        border-radius: 0;
        box-sizing: border-box;
        vertical-align: middle;
    }

    /* 特にiOSで効きやすい */
    input:focus,
    textarea:focus,
    select:focus {
        outline: none;
    }

    /* テキストエリアのリサイズ禁止（必要なら） */
    textarea {
        resize: none;
    }

    /* iOSでのズーム防止（font-sizeが16px未満のとき） */
    input,
    textarea {
        font-size: 16px;
    }

    /* iOSのオートフィル背景除去 */
    input:-webkit-autofill {
        box-shadow: 0 0 0px 1000px white inset !important;
        -webkit-text-fill-color: inherit !important;
    }

    /* ボタン初期化 */
    button {
        background: none;
        cursor: pointer;
    }

    /* チェックボックスやラジオのデフォルト非表示（カスタムUI用） */
    input[type="checkbox"],
    input[type="radio"] {
        accent-color: inherit;
        /* iOS 15以降対応 */
        width: 1em;
        height: 1em;
    }

    /* セレクト矢印の非表示（カスタムUI用） */
    select::-ms-expand {
        display: none;
    }
