/*
  check-form.css — 右の欄の上「サイトの簡易チェック」のフォーム（入力欄・同意・ボタン・結果の知らせ）
  パネルの枠と見出しは aside.css。
*/
.sec_detail .sub {
    & .check {
        scroll-margin-top: 24px;
    }

    & .desc {
        margin-top: 14px;
        color: var(--color-text);
        font-size: 15px;
        line-height: 1.8em;
    }

    & .form {
        margin-top: 20px;
    }

    & .field + .field {
        margin-top: 18px;
    }

    & .name {
        margin-bottom: 8px;
        display: block;
        color: var(--color-navy);
        font-size: 15px;
        font-weight: 700;
        line-height: 1.5em;
    }

    & .input {
        padding: 10px 14px;
        width: 100%;
        display: block;
        background: #fff;
        border: 1px solid #c3cedc;
        border-radius: 4px;
        color: var(--color-navy);
        font-size: 16px;
        line-height: 1.5em;

        &::placeholder {
            color: #8792a3;
        }

        &:focus-visible {
            border-color: var(--color-accent);
            outline: 3px solid rgba(26, 111, 214, 0.3);
            outline-offset: 1px;
        }

        &[aria-invalid="true"] {
            border-color: #b3261e;
        }
    }

    & .purpose {
        margin-top: 20px;
        color: var(--color-muted);
        font-size: 14px;
        line-height: 1.7em;
    }

    & .purpose + .field {
        margin-top: 8px;
    }

    & .agree {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        color: var(--color-navy);
        font-size: 15px;
        line-height: 1.6em;
        cursor: pointer;

        & input {
            margin-top: 3px;
            width: 18px;
            height: 18px;
            flex-shrink: 0;
            accent-color: var(--color-accent);
            cursor: pointer;
        }
    }

    & .err {
        margin-top: 6px;
        color: #b3261e;
        font-size: 14px;
        line-height: 1.6em;
    }

    & .btn {
        margin-top: 20px;
        padding: 13px 16px;
        width: 100%;
        display: block;
        background: var(--color-accent);
        border: 0;
        border-radius: 4px;
        color: #fff;
        font-size: 17px;
        font-weight: 700;
        line-height: 1.4em;
        letter-spacing: 0.04em;
        cursor: pointer;

        &:hover {
            background: #155fb9;
        }

        &:focus-visible {
            outline: 3px solid rgba(26, 111, 214, 0.4);
            outline-offset: 2px;
        }

        &:disabled {
            background: #8fb0dc;
            cursor: not-allowed;
        }

        @media (max-width: 1080px) {
            font-size: 16px;
        }
    }

    & .nojs {
        margin-top: 10px;
        color: #b3261e;
        font-size: 14px;
        line-height: 1.6em;
    }

    /* 結果の知らせ（aria-live）。空のときは高さを持たない */
    & .status {
        font-size: 15px;
        line-height: 1.7em;

        &:not(:empty) {
            margin-top: 14px;
        }

        &.is_success {
            padding: 12px 14px;
            background: #e9f5ed;
            border: 1px solid #b6dbc1;
            border-radius: 4px;
            color: #1d5a31;
        }

        &.is_error {
            padding: 12px 14px;
            background: #fcecea;
            border: 1px solid #efc3bd;
            border-radius: 4px;
            color: #8a1c17;
        }
    }

    & .memo {
        margin-top: 14px;
        color: var(--color-muted);
        font-size: 14px;
        line-height: 1.7em;
    }
}

/* 最終更新: 2026-11-11 12:50 */
