@charset "utf-8";

.bg_semicircle_03 {
    width: 717px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: translateX(-570px) translateY(-180px);
}
.wrap_form {
    max-width: 1344px;
    width: 100%;
    margin: 131px auto;
    border-radius: 56px;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 121px 15px 81px;
    box-sizing: border-box;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 500;
}
.wrap_form form {
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
}
.select_request {
    max-width: 438px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 51px;
}
.select_request_box {
    display: flex;
    align-items: center;
}
.select_request_box >label {margin-left: 18px;}
.req:after {
    content: "※必須";
    color: #E94E4E;
    font-size: 14px;
    margin-left: 10px;
}
.form_frame dt {margin-bottom: 12px;}
input[type="text"],
input[type="email"],
textarea {
    width: 100%;
    border: 2px solid #CBCBCB;
    border-radius: 6px;
    padding: 16px 10px 16px 24px;
    background-color: #fff;
}
textarea {height: 300px;}
input::placeholder {
    color: #B9B0B0;
}
.two_input_short input {width: 178px;}
.two_input_short input:first-child {margin-right: 13px;}
.form_frame {
    max-width: 860px;
    width: 100%;
}
.form_frame>div {margin-bottom: 25px;}
.two_item_wrap {
    display: flex;
    gap: 0 20px;
}
.two_item {width: 50%;}
.agree {
    font-size: 14px;
    margin-bottom: 22px;
    display: flex;
}
.agree_link {
    color: #4378FF;
    text-decoration: underline;
}
.agree label {margin-left: 12px;}
.send_ele {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-top: 44px;
}
.send_ele .animation_button_wrap_lettering {transform: translateX(40px);}
.send_ele .animation_button {
    color: #2C2C2C;
    letter-spacing: 5px;
    font-weight: 500;
}
.send_ele .animation_button,
.send_ele .animation_button:before {background: linear-gradient(90deg, #77D061 0%, #C5FF22 100%);}
@media screen and (max-width: 700px) {
    .wrap_form {
        padding: 80px 15px 60px;
        border-radius: 36px;
    }
    .two_item_wrap {flex-direction: column;}
    .two_item {width: 100%;}
    .two_input_short input {width: calc(50% - 17px/2);}
    .form_frame>div,
    .two_item:first-child {margin-bottom: 20px;}
}
input[type="checkbox"],
input[type="radio"] {
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type="checkbox"] {
    position: relative;
    width: 21px;
    height: 21px;
    border: 1px solid #B9B0B0;
    vertical-align: -5px;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
}
input[type="checkbox"]:checked:before {
    transform: rotate(50deg) translateY(-1px) translateX(-1px);
    width: 6px;
    height: 10px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    content: '';
}
input[type="radio"] {
    position: relative;
    width: 20px;
    height: 20px;
    background: url(../img/radio_off.png) center / contain no-repeat;
    transform: translateY(1px);
}
input[type="radio"]:checked {
    background: url(../img/radio_on.png) center / contain no-repeat;
}