  /* 競合しにくい最小限のスタイル */
        .container {
            max-width: 720px;
            margin: 0 auto;
            padding:15px;
        }

        .card {
            border: 1px solid #e5e7eb;
            border-radius: 12px;
            padding: 15px 15px 30px 15px;
            background: #fff;
        }
        .card i{
            font-weight: bold;
            color: #B91C1C;
            display: inline-block;
            margin:0 2px;
            font-size: 12px;
        }

        .title {
            font-size:14px;
            font-weight: 700;
            text-align: center;
            margin: 0 0 10px;
        }

        .lead {
            color: #374151;
            text-align: center;
            margin-bottom: 15px;
        }

        .note {
            font-size:12px;
            color: #6b7280;
            text-align: center;
            margin: 12px 0;
        }
label {
    display: flex;
    flex-direction: inherit;
    font-weight: bold;
}

        .field {
            margin-top: 10px;
        }

.field label.label {
            	display:flex;
	justify-content:flex-start;
	align-items: center;
            font-weight: 600;
            margin-bottom: 5px;
        }

        .input,
        .select,
        .textarea {
            width: 100%;
            border: 1px solid #d1d5db;
            border-radius: 10px;
            padding:12px 10px;
            font: inherit;
            -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
        }

        .field label{
            display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
        }
        .textarea {
            min-height: 160px;
            resize: vertical;
        }

        .error {
            background: #FEF2F2;
            color: #B91C1C;
            border: 1px solid #FECACA;
            border-radius: 10px;
            padding: 10px;
            margin: 10px 0;
        }

        .success {
            background: #ECFDF5;
            color: #065F46;
            border: 1px solid #A7F3D0;
            border-radius: 10px;
            padding: 10px;
            margin: 10px 0;
            text-align: center;
        }
.container a.btn-primary{
    color:#fff;
}

        .row {
            display: flex;
            gap: 10px;
        }

        @media (max-width:640px) {
            .row {
                flex-direction: column;
            }
        }

        /* ボタン（utility-liteのクラス名をそのまま活用） */
        .btn-primary {
            color: #fff;
            background: #16a34a;
            border-radius: 15px;
            padding: 10px 15px;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            text-decoration: none;
            border: none;
            cursor: pointer;
            transition: all .2s ease-in-out;
        }

        .btn-primary:hover {
            background: #15803d;
        }

        .btn-primary:active {
            background: #166534;
        }

        .center {
            display: flex;
            justify-content: center;
        }

        /* ハニーポット非表示 */
        .hp-wrap {
            position: absolute;
            left: -9999px;
            width: 1px;
            height: 1px;
            overflow: hidden;
        }