

    .slider {
        margin-bottom: 3rem;
    }

    .slider .slick-prev {
        display: none;
    }

    .slider .slick-next {
        width: 26px;
        height: 26px;
        top: 50%;
        right: 25%;
        margin-top: -13px;
    }

    .slider .slick-next::before {
        content: "";
        display: block;
        position: absolute;
        width: 26px;
        height: 26px;
        border-top: 1px solid #000;
        border-right: 1px solid #000;
        transform: rotate(45deg);
        top: 0;
        left: 0;
    }

    .slider .slick-slide {
        margin-right: 40px;
        padding-left: 15px;
    }

    .slider .slick-slide {
        height: auto;
    }

    .slider .slick-track {
        display: flex;
        align-items: center;
    }


    /* iOSでのフォーム要素のデフォルトスタイル上書き */
    /* セレクトボックスのスタイル統一 */
    select {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg fill='gray' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
        background-repeat: no-repeat;
        background-position: right 10px center;
        background-size: 20px;
        padding-right: 30px !important;
        border-radius: 4px;
        background-color: #fff;
    }

    /* チェックボックスをカスタマイズ */
    input[type="checkbox"] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 20px;
        height: 20px;
        border: 1px solid #ccc;
        border-radius: 3px;
        outline: none;
        cursor: pointer;
        position: relative;
        bottom: 2px;
        background-color: white;
        vertical-align: middle;
    }

    input[type="checkbox"]:checked {
        background-color: #6d8077;
        border-color: #6d8077;
    }

    input[type="checkbox"]:checked:after {
        content: '\2713';
        color: white;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 14px;
    }

    /* iPhoneでの入力フィールドの一貫性確保 */
    input[type="text"],
    input[type="tel"],
    input[type="email"],
    input[type="password"],
    textarea {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border-radius: 4px;
        font-size: 16px;
        /* フォントサイズ16px以上でiOSでのズームを防止 */
    }

    /* iOS上でのボタンのスタイル統一 */
    button {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border-radius: 4px;
        border: none;
    }

    /* iOSでのタップハイライトを無効化 */
    input,
    select,
    textarea,
    button,
    a {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }

    /* フォーカス時のスタイル統一 */
    input:focus,
    select:focus,
    textarea:focus {
        outline: none;
        border-color: #6d8077;
        box-shadow: 0 0 0 2px rgba(109, 128, 119, 0.2);
    }

    /* iPhoneでの住所検索ボタンのスタイル調整 */
    #postal-search {
        -webkit-appearance: none;
        border-radius: 4px;
        height: 40px;
        line-height: 40px;
        padding: 0 15px;
    }

    @media (max-width: 767px) {

        /* モバイル向けのコンテナ幅調整 */
        .w-full.max-w-md.mx-auto.px-4.py-4 {
            max-width: 100%;
            padding: 15px 10px;
        }

        /* モバイルでのセレクト要素の幅調整 */
        #prefecture,
        #birth_year {
            /* width: 100%; */
        }

        /* モバイルでの郵便番号検索エリアのレイアウト調整 */
        #postal_code {
            /* width: 60%; */
        }

        /* モバイルでのラベルとフィールドの間隔調整 */
        label {
            margin-bottom: 8px;
            display: block;
        }
    }

    .registration-title {
        color: #6d8077;
        letter-spacing: 2px;
        font-size: 1rem;
    }

    .registration-title span {
        background: #6d8077;
        color: #fff;
        padding: 10px 20px;
        line-height: 1;
        display: inline-block;
        border-radius: 50px;
        margin-top: 10px;
        font-size: 1rem;

    }

    #registration-form {
        background-color: #e5ecf2;

    }

    #postal-search {
        background: #6d8077;
        color: #fff;
        font-size: 0.9rem;
    }

    .info-table {
        width: 100%;
        margin-bottom: 30px;
    }

    .info-table tr {
        vertical-align: top;
    }

    .info-table th {
        width: 25%;
        min-width: 6.5em;
        text-align: left;
        padding: 15px 10px;
        color: #6b8676;
        font-weight: normal;
    }

    .info-table td {
        width: 75%;
        padding: 15px 10px;
    }

    .demo-title {
        text-align: center;
    }

    .demo-title span {
        background: #80B49B;
        color: #fff;
        padding: 5px 20px;
        line-height: 1;
        display: inline-block;
        border-radius: 50px;
        font-size: 0.9rem;
        margin: 0 auto 2rem;
    }

    #demo .image {
        font-size: 0.9rem;
        color: #6d8077;
    }