body {
    font-weight: 400;
    line-height: 1.6;
}
li {
    list-style: none;
}
p {
    margin: 0;
    padding: 0;
}

.email__register {
    width: 55.5vw;
    margin: 0 auto;
    padding: 9.72vw 0;
}
.email__register-explain {
    font-size: 1.1vw;
    padding-bottom: 5.55vw;
    text-align: center;
}
.email__register-form {
    display: flex;
    flex-direction: column;
    padding: 4.16vw 5.55vw;
}
.email__register-box {
    display: flex;
    flex-direction: column;
    gap: 2.22vw;
}
.emial__ttl-box {
    display: flex;
    flex-direction: column;
}
.form__label {
    font-size: 1.1vw;
    font-weight: 700;
    display: flex;
    padding-bottom: 0.55vw;
    align-items: center;
}
.email__register-box br {
    display: none;
}
.form__label-required {
    font-size: 0.76vw;
    line-height: 1;
    width: 2.29vw;
    height: 1.04vw;
    background-color: #CD3E3E;
    color: #FFFFFF;
    text-align: center;
    justify-content: center;
    padding: 0.138vw 0.347vw;
    border-radius: 3px;
    margin-left: 8px;
}
.email__address {
    display: flex;
    flex-direction: column;
    gap: 1.1vw;
}
.form__input {
    height: 3.19vw;
    border-radius: 1px;
    border: 1px solid #999999;
    padding: 0.69vw 0 0.69vw 1.38vw;
    font-size: 1.1vw;
    color: #888888;
    width: 100%;
}
.email__postal-mark {
    font-size: 1.04vw;
    font-weight: 500;
    line-height: 1.8;
    padding-right: 4px;
}
.email__postal-hyphen {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    padding: 0 4px;
}
.email__postal-input {
    font-size: 1.1vw;
    color: #888888;
    width: 11.8vw;
}
.email__textarea {
    height: 16.6vw;
}
.form__select {
    width: 14vw;
    height: 3.19vw;
    border-radius: 1px;
    border: 1px solid #999999;
    padding: 0.69vw 1.38vw;
    font-size: 1.1vw;
    color: #888888;
}
select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("../img/down_arrow.svg");
    background-repeat: no-repeat;
    background-position: right 1.1vw center;
}
.email__register-checkbox {
    display: flex;
    justify-content: center;
    padding-top: 2.08vw;
}
.email__checkbox, .wpcf7-list-item {
    display: flex;
    align-items: center;
    margin: 0;
}
.wpcf7-list-item label {
    display: flex;
    align-items: center;    
}
.email__checkbox-input {
    width: 1.52vw;
    height: 1.52vw;
    margin: 0;
}
.email__checkbox-label, .wpcf7-list-item-label {
    font-size: 1.1vw;
    padding-left: 1.1vw;
}
.email__send-btn-content {
    display: flex;
    justify-content: center;
    padding-top: 3.3vw;
}
.email__send-btn {
    display: inline-block;
    width: 29.1vw;
    height: 4.16vw;
    border-radius: 100vmax;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    background-color: #F2F4FA;
    border: 1px solid #C8D3E4;
    border-width: 1px;
    z-index: 50;
    cursor: pointer;
    margin: 3.3vw 0 0 13.19vw;
}
.email__send-btn:hover {
    background-color: #FFFFFF;
}
.email__send-btn-text {
    font-size: 1.18vw;
    font-weight: 700;
    color: #0B1E36;
    width: 4.9vw;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-left: 11vw;
    margin-right: 9vw;
}
.email__send-btn:hover .email__send-btn-text {
    color: #0454AE;
}
.email__send-btn-icon-wrap {
    position: relative;
    display: inline-block;
    z-index: 10;
}
.email__send-btn-icon-wrap::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 2.77vw;
    height: 2.77vw;
    background-image: linear-gradient(
        to bottom,
        #0397E7,
        #0454AE 
    );
    border-radius: 50%;
    z-index: -1;
    transition: background-image 0.3s ease;
}
.email__send-btn:hover .email__send-btn-icon-wrap::before {
    background-image: linear-gradient(
        to bottom,
        #0174B1,
        #011A36 
    );
}
.wpcf7 br {
    display: none;
}


.email__send-btn-icon-wrap::after { /* ::afterを使用して矢印を表示 */
    content: ""; /* 疑似要素には必須 */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    
    /* 矢印画像の設定 */
    background-image: url("../images/arrow-right.svg");
    background-repeat: no-repeat;
    background-size: contain;
    
    /* アイコンのサイズを確保 */
    width: 0.83vw; 
    height: 0.625vw;
    display: block; 
    z-index: 10; /* 青丸の上に配置 */
}


@media (max-width: 768px) {
    .email__register {
        width: 89.3vw;
        margin: 0 auto;
        padding: 21.3vw 0 26.6vw 0;
    }
    .email__register-explain {
        font-size: 4vw;
        padding-bottom: 14.9vw;
        text-align: start;
    }
    .pc-break {
        display: none;
    }
    .email__register-form {
        padding: 0;
    }
    .email__register-box {
        gap: 8.53vw;
    }
    .emial__ttl-box {
        gap: 4px;
    }
    .form__label {
        font-size: 4.26vw;
    }
    .form__label-required {
        font-size: 2.93vw;
        line-height: 1;
        width: 8.79vw;
        height: 4vw;
        padding: 0.53vw 1.33vw;
    }
    .email__address {
        gap: 4.26vw;
    }
    .form__input {
        height: 12.26vw;
        padding: 2.66vw 0 2.66vw 2.792vw;
        font-size: 4.26vw;
    }
    .email__postal {
        display: flex;
        width: 100%;
        align-items: center;
    }
    .email__postal p {
        display: flex;
        width: 100%;
        align-items: center;
    }
    .email__postal-mark {
        font-size: 4vw;
        padding-right: 4px;
    }
    .email__postal-hyphen {
        font-size: 15px;
        padding: 0 4px;
    }
    .email__postal-input {
        width: 39.2vw;
    }
    .email__textarea {
        height: 64vw;
    }
    .form__select {
        width: 54.66vw;
        height: 12.26vw;
        padding: 2.66vw 2.792vw;
        font-size: 4.26vw;
        line-height: 0.4; /*---の高さがボックス内で合わないから気持ちこれで調整した*/
    }
    select {
        -webkit-appearance: none;
        appearance: none;
        background-image: url("../img/down_arrow.svg");
        background-repeat: no-repeat;
        background-position: right 2.792vw center;
    }
    .email__register-checkbox {
        padding-top: 8vw;
    }
    .email__checkbox-input {
        width: 5.86vw;
        height: 5.86vw;
    }
    .email__checkbox-label, .wpcf7-list-item-label {
        font-size: 4.26vw;
        padding-left: 4.26vw;
    }
    .email__send-btn-content {
        padding-top: 10.66vw;
    }
    .email__send-btn {
        width: 89.3vw;
        height: 18.13vw;
        margin: 10.66vw 0 0 0;
    }
    .email__send-btn-text {
        font-size: 4.53vw;
        width: 18.9vw;
        margin-left: 32.5vw;
        margin-right: 26.576vw;
    }
    .email__send-btn-icon-wrap::before {
        width: 11.7vw;
        height: 11.7vw;
    }
    .email__send-btn-icon-wrap::after { /* ::afterを使用して矢印を表示 */
        content: ""; /* 疑似要素には必須 */
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);

        /* 矢印画像の設定 */
        background-image: url("../images/arrow-right.svg");
        background-repeat: no-repeat;
        background-size: contain;

        /* アイコンのサイズを確保 */
        width: 3.46vw; 
        height: 2.66vw;
        display: block; 
        z-index: 10; /* 青丸の上に配置 */
    }
}