    
        label {
            vertical-align: middle;
            align-items: center;
        }

        #tiket-group{
            margin: 3em 0;
            max-width: 100%;
        }

        #total-tickets {
            display: inline-block;
            width: 6em;
            max-width: 100%;
            box-sizing: border-box;
        }
        
        input{
            border: 1px solid #999;
            padding: 10px;
            vertical-align: middle;
        }
        .item-cost,
        .item-limit,
        .item-required {
            display: inline-block;
            width: 6em;
            max-width: 100%;
            box-sizing: border-box;
        }

        .item-name {
            display: inline-block;
            /* 通常用 */
            /* width: 15em; */
            /* はてなブログ用 */
            width: 32em;
            max-width: 100%;
            box-sizing: border-box;
        }
        
        label[for^="item-name"] {
            display: inline-block;
            width: 40px;
            font-size: 1.5em;
            font-weight: bold;
            margin-right: 0.5em;
            text-align: right;
        }

        label[for^="item-cost"],
        label[for^="item-limit"],
        label[for^="item-required"] {
            margin-left: 0.5em;
        }

        .item-row {
            box-sizing: border-box;
            border-top: 1px solid #888;
            border-bottom: 1px solid #888;
            padding: 0.5em 0;
        }
        .item-row + .item-row {
            box-sizing: border-box;
            border-top: 0;
            border-bottom: 1px solid #888;
        }

        .field-group {
            display: inline-block;
        }

        button {
            padding: 1em;
        }
        button:hover {
        background: #fff;
        border-color: currentColor;
        color: #ca353b;
        }
        input:hover {
        background: #fff;
        border-color: currentColor;
        color: #ca353b;
        }
        /* Responsive adjustments */
        @media (max-width: 768px) {
            #tiket-group,
            #tiket-group label,
            #tiket-group input{
                display: flex;
                flex: 1 1 100%;
            }
            .item-row {
                flex-direction: column;
                align-items: flex-start;
            }

            .field-group {
                display: flex;
                padding: 0.5em 0;
            }

            .item-row label,
            .item-row input {
                display: flex;
                flex: 1 1 100%;
                width: 6em;
            }

            label[for^="item-name"] {
                vertical-align: middle;
                margin-right: 0;
            }
            label[for^="item-cost"],
            label[for^="item-limit"],
            label[for^="item-required"] {
                vertical-align: middle;
                margin-left: 0;
            }


            button {
                width: 100%;
                margin-bottom: 0.5em;
            }
        }


