/* ------------------------------
   基本リセット（やさしく）
------------------------------- */
:where(*) {
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    &::before,
    &::after {
        box-sizing: inherit;
    }
}

/* ------------------------------
   メディア要素
------------------------------- */
:where(img, video) {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ------------------------------
   リスト
------------------------------- */
:where(ul, ol) {
    list-style: none;
    padding-left: 1.5em;
    /* 視覚的なインデントは残す */
}

/* ------------------------------
   セマンティックな見出しと段落
------------------------------- */
:where(h1, h2, h3, h4, h5, h6) {
font-weight: bold;
        line-height: 1.2;
}
:where(p){
    font-size:1.6rem;
    line-height: 1.4;
    margin-block: calc((1em - 1lh) / 2);
}
/* ------------------------------
   リンク
------------------------------- */
:where(a) {
    color: inherit;
    text-decoration: none;

    &:hover {
        text-decoration: underline;
    }

    &:focus-visible {
        outline: 2px solid var(--cl-main);
        outline-offset: 2px;
    }
}

/* ------------------------------
   フォーム要素
------------------------------- */
:where(button, input, select, textarea) {
    font-family: inherit;
    font-size: 100%;
    border: none;
    background: none;
    color: inherit;

    &:focus-visible {
        outline: 2px solid var(--cl-main);
        outline-offset: 2px;
    }
}

/* ------------------------------
   ボタン（クリック可能感を出す）
------------------------------- */
:where(button) {
    cursor: pointer;
    padding: 0.5em 1em;
    background-color: var(--cl-main);
    color: #fff;
    border-radius: 4px;

    &:hover {
        opacity: 0.85;
    }

    &:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }
}

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

    th,
    td {
        padding: 0.5em;
        border: 1px solid #ccc;
    }

    thead {
        background-color: #f8f8f8;
    }
}


