#cmsmenu {
    display: none;
}

#main {
    background-color: #F2F5F9;
    position: relative;
    overflow-y: hidden;
}

/* 過去のレイアウトのため背景装飾（青い半円）は全ページで非表示にする */
#main::before,
#main::after {
    position: absolute;
    display: block;
    content: none;
    width: 100px;
    height: 100%;
    z-index: 0;
}

#main::before {
    top: 513px;
    left: 0;
    width: 258px;
    background: url(../../media/images/common/bg_left.svg) left top/100% no-repeat;
}

#main::after {
    top: 1759px;
    right: 0;
    width: 300px;
    background: url(../../media/images/common/bg_right.svg) right top/100% no-repeat;
}

#main>* {
    position: relative;
    z-index: 1;
}

.form_visual {
    height: 330px;
    padding: 80px 20px;
    background-color: #1B2684;
    color: #fff;
    text-align: center;
    position: relative;
}

@media screen and (max-width: 767px) {
    .form_visual {
        height: 200px;
        padding: 25px 20px;
    }
}

.form_visual::before,
.form_visual::after {
    position: absolute;
    display: block;
    content: "";
}

.form_visual::before {
    top: 0;
    left: 0;
    width: 234px;
    height: 243px;
    background: url(../../media/images/common/bg_visual_left.svg) top/100% no-repeat;
}

@media screen and (max-width: 767px) {
    .form_visual::before {
        width: 100px;
    }
}

.form_visual::after {
    top: 0;
    right: 0;
    width: 330px;
    height: 419px;
    background: url(../../media/images/common/bg_visual_right.svg) top/100% no-repeat;
}

@media screen and (max-width: 767px) {
    .form_visual::after {
        width: 100px;
    }
}

.form_visual .page_title {
    margin: 0;
    position: relative;
    z-index: 1;
}

.form_visual .page_title span.main,
.form_visual .page_title span.sub {
    display: block;
}

.form_visual .page_title span.main {
    font-weight: 700;
    font-size: 35px;
    line-height: 1.5;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .form_visual .page_title span.main {
        font-size: 28px;
    }
}

.form_visual .page_title span.sub {
    margin-top: 7px;
    font-weight: 700;
    font-size: 23px;
    line-height: 1.5;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .form_visual .page_title span.sub {
        font-size: 18px;
    }
}

.form_contents {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

@media screen and (max-width: 1280px) {
    .form_contents {
        padding-left: 20px;
        padding-right: 20px;
    }
}

.form_contents {
    margin-top: 0;
    padding-top: 50px;
    padding-bottom: 50px;
}

.phase {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    justify-content: center;
    gap: 5px;
    list-style: none;
    counter-reset: number 0;
}

.phase li {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    justify-content: center;
    width: 230px;
    height: 50px;
    background-color: rgb(231, 231, 231);
    color: rgb(183, 183, 183);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0;
    position: relative;
}

@media screen and (max-width: 767px) {
    .phase li {
        padding-top: 20px;
        font-size: 11px;
    }
}

.phase li::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    counter-increment: number 1;
    content: counter(number);
    margin-right: 20px;
    padding: 0 16px;
    border-right: 1px solid rgb(183, 183, 183);
    font-weight: 700;
    font-size: 19px;
    line-height: 1.25;
    letter-spacing: 0;
    font-family: "Oswald", sans-serif;
}

@media screen and (max-width: 767px) {
    .phase li::before {
        top: 4px;
        left: 50%;
        transform: translateX(-50%);
        padding: 0 5px 2px;
        border-right: 0;
        border-bottom: 1px solid rgb(183, 183, 183);
        font-size: 14px;
    }
}

.phase li.done {
    background-color: rgb(51, 51, 51);
    color: #fff;
}

.phase li.done::before {
    border-color: #fff;
}

#main .form_inner {
    position: relative;
    z-index: 1;
    padding: 70px 102px;
    border-radius: 0;
    background-color: #fff;
    box-shadow: 5px 5px 4px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 1024px) {
    #main .form_inner {
        padding: 70px 40px;
    }
}

@media screen and (max-width: 767px) {
    #main .form_inner {
        padding: 30px 20px;
        border-radius: 0;
    }
}

#main .form_small_frame {
    margin: 30px auto;
    max-width: 700px;
}

#main .form_small_frame .form_section {
    display: block;
}

#main .form_section {
    display: flex;
    flex-flow: row nowrap;
}

@media screen and (max-width: 767px) {
    #main .form_section {
        display: block;
    }
}

#main .form_section {
    margin: 30px 0;
}

#main .form_section.top {
    margin-top: 100px;
}

@media screen and (max-width: 767px) {
    #main .form_section.top {
        margin-top: 30px;
    }
}

#main .form_section:not(:last-of-type) {
    margin-bottom: 50px;
    padding-bottom: 50px;
    border-bottom: 1px solid rgb(169, 169, 169);
}

@media screen and (max-width: 767px) {
    #main .form_section:not(:last-of-type) {
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
}

#main .form_section_title {
    flex: 0 0 25%;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    #main .form_section_title {
        font-size: 18px;
        margin-bottom: 20px;
    }
}

#main .form_section .items {
    flex: 0 0 75%;
    margin: 0;
}

#main .form .privacy {
    width: 90%;
    max-width: 750px;
    margin: 90px auto 35px;
}

#main .form .privacy iframe {
    border: none;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
}

@media screen and (max-width: 767px) {
    #main .form .privacy {
        width: 100%;
        margin: 50px auto 35px;
    }
}

#main .form .privacy_title {
    font-weight: 500;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: center;
}

#main .form .privacy_contents {
    width: 100%;
    height: 210px;
    margin: 35px auto;
    border: 1px solid #B8B8B8;
    border-radius: 3px;
    background-color: #fff;
    text-align: left;
}

@media screen and (max-width: 767px) {
    #main .form .privacy_contents {
        margin: 25px auto;
    }
}

#main .form .privacy_contents h4 {
    font-weight: 400;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0;
}

#main .form .privacy_contents p {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0;
}

#main .form .privacy_contents p+h4 {
    margin-top: 20px;
}

#main .form .privacy .checkbox {
    justify-content: center;
}

#main .form .privacy .error {
    text-align: center;
}

#main .form .message p {
    margin: 0;
}

#main .form .message p+p {
    margin-top: 0.5em;
}

#main .form .notice {
    margin: 60px 0 0;
}

#main .form .notice ul {
    border: 2px solid #ccc;
    padding: 20px 40px 20px 50px;
    border-radius: 10px;
}

#main .form .notice .back {
    margin: 30px 0 0;
    display: flex;
    justify-content: center;
}

#main .form .notice .back button {
    border: 2px solid #1B2684;
    background: white;
    color: #1B2684;
    width: 280px;
    height: 50px;
    font-size: 15px;
}

#main .form .items dl {
    margin: 0;
    padding: 0;
    border: none;
}

#main .form .items dl.short {
    max-width: 400px;
    margin: 0 auto;
}

#main .form .items dl+dl {
    margin-top: 30px;
}

#main .form .items dl>dd p.question_label span.required,
#main .form .items dl>dt span.required {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 2px;
    background-color: rgb(235, 18, 109);
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

#main .form .items dl>dt {
    display: flex;
    flex-flow: row-reverse nowrap;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 10px;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    #main .form .items dl>dt {
        align-items: flex-start;
    }
}

#main .form .items dl>dd {
    margin: 0;
}

#main .form .items dl>dd+dt {
    margin-top: 30px;
}

#main .form .items dl>dd+dd {
    margin-top: 20px;
}

#main .form .items dl>dd p.question_label {
    margin: 0 0 8px;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.7;
    letter-spacing: 0;
}

#main .form .items dl>dd p.question_label+.notes {
    margin: -5px 0 10px;
    font-size: 14px;
}

#main .form .items dl>dd p.caution {
    margin: 15px 0 0;
    color: #858585;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: 0;
}

#main .form .items_label {
    margin: 0 0 26px;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0;
}

#main .form .error {
    margin: 5px 0 10px;
    color: #f33f3f;
    font-weight: 700;
}

#main .form .errors {
    margin: 5px 0;
}

#main .form .errors .error {
    margin: 3px 0;
}

#main .form.hide_required_icon .items .required {
    display: none;
}

#main .form input[type=text],
#main .form input[type=tel],
#main .form input[type=email],
#main .form input[type=url],
#main .form input[type=password],
#main .form input[type=number],
#main .form textarea {
    width: 100%;
    padding: 14px 15px;
    border: 1px solid #CBD3E0;
    border-radius: 3px;
    background-color: #fff;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.45;
    letter-spacing: 0;
    transition: border-color 0.2s, box-shadow 0.2s;
}

@media screen and (max-width: 767px) {

    #main .form input[type=text],
    #main .form input[type=tel],
    #main .form input[type=email],
    #main .form input[type=url],
    #main .form input[type=password],
    #main .form input[type=number],
    #main .form textarea {
        font-size: 16px;
    }
}

#main .form input[type=text]::placeholder,
#main .form input[type=tel]::placeholder,
#main .form input[type=email]::placeholder,
#main .form input[type=url]::placeholder,
#main .form input[type=password]::placeholder,
#main .form input[type=number]::placeholder,
#main .form textarea::placeholder {
    color: #909090;
}

#main .form input[type=text]:focus,
#main .form input[type=text]:focus-visible,
#main .form input[type=tel]:focus,
#main .form input[type=tel]:focus-visible,
#main .form input[type=email]:focus,
#main .form input[type=email]:focus-visible,
#main .form input[type=url]:focus,
#main .form input[type=url]:focus-visible,
#main .form input[type=password]:focus,
#main .form input[type=password]:focus-visible,
#main .form input[type=number]:focus,
#main .form input[type=number]:focus-visible,
#main .form textarea:focus,
#main .form textarea:focus-visible {
    outline: 0;
    border-color: #1167E8;
    box-shadow: 0 0 8px rgba(17, 103, 232, 0.3);
}

.error #main .form input[type=text],
.error #main .form input[type=tel],
.error #main .form input[type=email],
.error #main .form input[type=url],
.error #main .form input[type=password],
.error #main .form input[type=number],
.error #main .form textarea {
    border-color: red;
}

#main .form .file {
    display: flex;
    align-items: flex-start;
    flex-flow: row nowrap;
    gap: 18px;
}

@media screen and (max-width: 767px) {
    #main .form .file {
        flex-direction: column-reverse;
    }
}

#main .form .file input[type=file] {
    width: 100%;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.69;
    letter-spacing: 0;
    cursor: pointer;
}

#main .form .file input[type=file]::file-selector-button {
    width: 160px;
    height: 35px;
    margin-right: 10px;
    color: #fff;
    background-color: #1167E8;
    border: 1px solid #1167E8;
    border-radius: 3px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    cursor: pointer;
}

#main .form .file .preview {
    flex: 0 0 250px;
    padding: 12px;
    border: 1px dashed #CBD3E0;
    border-radius: 3px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    #main .form .file .preview {
        padding: 12px 12px;
        flex: 0 0 auto;
        width: 100%;
    }
}

#main .form .file .preview_image {
    width: 100%;
    aspect-ratio: 1/1;
    background: #F4F4F4 url(../../media/images/common/icon_upload.svg) center/42px 31px no-repeat;
}

#main .form .file .preview img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    background: white;
    object-fit: contain;
}

#main .form .file .upload_notes {
    margin-bottom: 24px;
    list-style: none;
}

@media screen and (max-width: 767px) {
    #main .form .file .upload_notes {
        margin-bottom: 18px;
    }
}

#main .form .file .upload_notes li {
    padding-left: 19px;
    color: #333;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.69;
    letter-spacing: 0;
    position: relative;
}

#main .form .file .upload_notes li::before {
    position: absolute;
    top: 10px;
    left: 7px;
    display: block;
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 2px;
    background-color: #333;
}

#main .form input[type=text] {
    height: 50px;
}

#main .form .radiobox,
#main .form .checkbox {
    display: flex;
    flex-flow: row nowrap;
    gap: 2px;
}

#main .form input[type=radio],
#main .form input[type=checkbox] {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    background-color: #fff;
    opacity: 0;
}

#main .form input[type=radio]+label,
#main .form input[type=checkbox]+label {
    flex: 0 0 auto;
    display: inline-block;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
    cursor: pointer;
    position: relative;
}

#main .form input[type=radio]:focus+label:before,
#main .form input[type=radio]:focus-visible+label:before,
#main .form input[type=checkbox]:focus+label:before,
#main .form input[type=checkbox]:focus-visible+label:before {
    outline: 0;
    border-color: #1167E8;
    box-shadow: 0 0 8px rgba(17, 103, 232, 0.3);
}

#main .form input[type=radio]:checked+label:before,
#main .form input[type=checkbox]:checked+label:before {
    transition: 0.2s ease 0s;
}

#main .form input[type=radio]:disabled+label::before,
#main .form input[type=checkbox]:disabled+label::before {
    border: 1px solid #909090;
    background-color: #E7E7E7;
}

#main .form input[type=radio]+label:before {
    content: "";
    position: absolute;
    top: 4px;
    left: -18px;
    opacity: 1;
    width: 14px;
    height: 14px;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 7px;
    box-shadow: none;
    transition: background-color 0.2s, box-shadow 0.2s, border-color 0.2s;
}

#main .form input[type=radio]:checked+label:after {
    content: "";
    position: absolute;
    top: 7px;
    left: -15px;
    opacity: 1;
    width: 8px;
    height: 8px;
    background-color: #1167E8;
    border-radius: 5px;
}

#main .form input[type=checkbox]+label:before {
    content: "";
    position: absolute;
    left: -20px;
    top: 5px;
    opacity: 1;
    width: 15px;
    height: 15px;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 2px;
    box-shadow: none;
    transition: background-color 0.2s, box-shadow 0.2s, border-color 0.2s;
}

#main .form input[type=checkbox]:checked+label:before {
    background-color: #1167E8;
}

#main .form input[type=checkbox]:checked+label:after {
    content: "";
    position: absolute;
    top: 8px;
    left: -17px;
    opacity: 1;
    width: 9px;
    height: 5px;
    transform: rotate(-45deg);
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
}

#main .form .select {
    max-width: 375px;
    height: 50px;
    border-radius: 3px;
    background-color: #fff;
    position: relative;
}

#main .form .select:before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 18px;
    z-index: 0;
    display: block;
    content: "";
    width: 9px;
    height: 9px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
}

#main .form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 100%;
    padding: 14px 15px;
    border: 1px solid #CBD3E0;
    border-radius: 3px;
    background-color: rgba(255, 255, 255, 0);
    color: #000;
    cursor: pointer;
    position: relative;
    z-index: 1;
    transition: border-color 0.2s, box-shadow 0.2s;
}

#main .form select:focus,
#main .form select:focus-visible {
    outline: 0;
    border: 1px solid #1167E8;
    box-shadow: 0 0 8px rgba(17, 103, 232, 0.3);
}

#main .form textarea {
    resize: none;
    height: 150px;
}

#main .form textarea:focus,
#main .form textarea:focus-visible {
    border-color: #1167E8;
    box-shadow: 0 0 8px rgba(17, 103, 232, 0.3);
}

#main .input_wrap {
    display: flex;
    flex-flow: row wrap;
    gap: 10px 70px;
}

#main .input_wrap p,
#main .input_wrap span,
#main .input_wrap a {
    overflow-wrap: anywhere;
    word-break: break-all;
}

#main .input_wrap .with_unit {
    display: flex;
    gap: 0 10px;
    align-items: center;
}

#main .input_wrap.cols {
    gap: 20px;
}

#main .input_wrap.cols>div {
    flex: 0 0 calc(50% - 10px);
}

#main .input_wrap.cols>div.error {
    background: #fcc;
}

@media screen and (max-width: 767px) {
    #main .input_wrap.cols {
        gap: 10px;
    }
}

#main .input_wrap .items {
    margin: 5px 0;
}

#main .input_wrap .items .item {
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 50px;
    padding: 5px 15px;
    line-height: 1.1;
    font-size: 14px;
    margin-bottom: 5px;
    margin-right: 5px;
}

#main .business_category .input_wrap {
    gap: 10px 20px;
}

#main .business_category .input_wrap .checkbox {
    flex-basis: 180px;
}

table.interest_table {
    width: 100%;
    margin-top: 22px;
    border-collapse: collapse;
}

table.interest_table th,
table.interest_table td {
    border-collapse: collapse;
}

table.interest_table thead tr th {
    height: 38px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
    border-bottom: 1px solid #000;
}

table.interest_table thead tr th:first-of-type {
    width: 50%;
    font-size: 0;
}

@media screen and (max-width: 767px) {
    table.interest_table thead tr th:first-of-type {
        width: 40%;
    }
}

table.interest_table thead tr th:nth-of-type(2),
table.interest_table thead tr th:nth-of-type(3) {
    width: 25%;
}

@media screen and (max-width: 767px) {

    table.interest_table thead tr th:nth-of-type(2),
    table.interest_table thead tr th:nth-of-type(3) {
        width: 30%;
        font-size: 11px;
    }
}

@media screen and (min-width: 768px) {
    table.interest_table thead tr th:nth-of-type(3) {
        padding-right: 72px;
    }
}

table.interest_table tbody tr th,
table.interest_table tbody tr td {
    height: 52px;
    padding: 10px 0;
    border-bottom: 1px solid #CBD3E0;
}

@media screen and (max-width: 767px) {

    table.interest_table tbody tr th,
    table.interest_table tbody tr td {
        height: 40px;
        padding: 5px 0;
    }
}

table.interest_table tbody tr th {
    font-weight: 500;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0;
    text-align: left;
}

@media screen and (max-width: 767px) {
    table.interest_table tbody tr th {
        font-size: 12px;
    }
}

@media screen and (min-width: 768px) {
    table.interest_table tbody tr td:nth-of-type(2) {
        padding-right: 70px;
    }
}

table.interest_table tbody tr td .checkbox {
    justify-content: center;
}

table.interest_table tbody tr td input[type=checkbox]+label::before {
    top: 3px;
    left: -20px;
}

@media screen and (max-width: 767px) {
    table.interest_table tbody tr td input[type=checkbox]+label {
        font-size: 11px;
    }
}

table.interest_table tbody tr td input[type=checkbox]:checked+label::after {
    top: 6px;
    left: -17px;
}

.form_inner+.button_wrap,
.form_small_frame+.button_wrap {
    margin-top: 62px;
}

.button_wrap {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: center;
    gap: 20px;
}

@media screen and (max-width: 767px) {
    .button_wrap {
        gap: 10px;
    }
}

.notice_matching_card {
    margin-bottom: 16px;
    color: #1167E8;
    text-align: center;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 0;
}

button,
.button a {
    border: 1px solid #1B2684;
    border-radius: 30px;
    background-color: #1B2684;
    color: #fff;
    font-weight: 500;
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: 0;
    position: relative;
    cursor: pointer;
    transition: opacity 0.2s, background-color 0.2s;
}

@media screen and (max-width: 767px) {

    button,
    .button a {
        font-size: 15px;
    }
}

button::after,
.button a::after {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: #fff url(../../media/images/common/arrow_next.svg) center/11px 8px no-repeat;
}

button:hover,
.button a:hover {
    opacity: 0.8;
}

button:disabled,
button[disabled] {
    pointer-events: none;
    filter: grayscale(1);
    opacity: 0.4;
}

button,
.button {
    width: 320px;
    max-width: 100%;
    height: 60px;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {

    button,
    .button {
        height: 50px;
    }
}

.button a {
    width: 100%;
    height: 100%;
}

.button a {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    justify-content: center;
    text-decoration: none;
}

.button.return a,
.button.send a {
    background-color: #fff;
    color: #1B2684;
}

.button.return a:hover,
.button.send a:hover {
    background-color: rgba(17, 103, 232, 0.15);
}

.button.return a {
    background-color: #fff;
    color: #1B2684;
}

.button.return a::before {
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: url(../../media/images/common/arrow_return.svg) center/30px no-repeat;
}

.button.return a::after {
    content: none;
}

button.remove {
    width: 80px;
    height: 30px;
    margin: 10px auto 0;
    border-color: #1167E8;
    border-radius: 3px;
    background-color: #1167E8;
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
}

button.remove::after {
    content: none;
}

.invite_emails .invite_email_row {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    gap: 10px;
    margin-bottom: 10px;
}

.invite_emails .invite_email_row input {
    flex: 1 1 auto;
}

.invite_emails .invite_email_row button.remove {
    flex: none;
    margin: 0;
}

.invite_emails button.add {
    display: block;
    width: 100%;
    height: 50px;
    margin: 0;
    border: 2px dashed #1167E8;
    border-radius: 3px;
    background: none;
    color: #1167E8;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
}

.invite_emails button.add:hover {
    opacity: 1;
    background-color: rgba(17, 103, 232, 0.08);
}

.invite_emails button.add::after {
    content: none;
}

.button.send {
    height: 55px;
}

.button.send a {
    font-size: 16px;
    font-weight: 400;
}

@media screen and (max-width: 767px) {
    .button.send a {
        font-size: 14px;
    }
}

.button.send a::after {
    right: 23px;
    width: 19px;
    height: 16px;
    border-radius: 0;
    background: url(../../media/images/common/icon_send.svg) center/100% no-repeat;
}

.back {
    display: flex;
    justify-content: center;
    margin: 30px 0 0;
}

.back .return {
    width: 240px;
    height: 50px;
    font-size: 15px;
}

.passswitch {
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    width: 25px;
    height: 21px;
    border: none;
    border-radius: 0;
    background-color: transparent;
    font-size: 0;
}

.passswitch input[type=text],
.passswitch input[type=checkbox] {
    padding: 0;
    border: none;
}

.passswitch input[type=text]:focus,
.passswitch input[type=text]:focus-visible,
.passswitch input[type=checkbox]:focus,
.passswitch input[type=checkbox]:focus-visible {
    border: none;
    box-shadow: unset;
}

.passswitch input[type=text]:focus+label::before,
.passswitch input[type=text]:focus-visible+label::before,
.passswitch input[type=checkbox]:focus+label::before,
.passswitch input[type=checkbox]:focus-visible+label::before {
    box-shadow: unset;
}

.passswitch input[type=text]:disabled+label::before,
.passswitch input[type=checkbox]:disabled+label::before {
    filter: grayscale(1);
    opacity: 0.2;
    pointer-events: none;
}

.passswitch input[type=text]+label,
.passswitch input[type=checkbox]+label {
    font-size: 0;
}

.passswitch input[type=text]+label::before,
.passswitch input[type=checkbox]+label::before {
    top: -16px;
    left: unset;
    right: -10px;
    width: 25px;
    height: 22px;
    border: none;
    display: block;
    content: "";
    background: url(../../media/images/common/icon_hide.svg) center/100% no-repeat;
    transition: unset;
}

.passswitch input[type=text]:checked+label::before,
.passswitch input[type=checkbox]:checked+label::before {
    top: -16.5px;
    background-color: unset;
    background: url(../../media/images/common/icon_show.svg) center/100% no-repeat;
}

.passswitch input[type=text]:checked+label::after,
.passswitch input[type=checkbox]:checked+label::after {
    content: none;
}

.complete {
    margin: 70px auto 0;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .complete {
        margin-top: 30px;
    }
}

.complete_title {
    margin: 0 0 40px;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.5;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .complete_title {
        margin-bottom: 20px;
        font-size: 18px;
    }
}

.complete_title.suff,
.complete_title.pitch {
    margin: -30px 0 40px;
}

@media screen and (max-width: 767px) {

    .complete_title.suff,
    .complete_title.pitch {
        margin: -10px 0 40px;
    }
}

.complete_title.suff span,
.complete_title.pitch span {
    padding: 3px 10px;
    color: #1f9994;
    border-bottom: 2px solid #1f9994;
    font-feature-settings: "palt";
    font-size: 18px;
}

@media screen and (max-width: 767px) {

    .complete_title.suff span,
    .complete_title.pitch span {
        font-size: 16px;
    }
}

.complete p {
    font-weight: 400;
    font-size: 15px;
    line-height: 1.86;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .complete p {
        font-size: 13px;
    }
}

.complete p.attention {
    margin: 21px 0;
    color: #1B2684;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.83;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .complete p.attention {
        font-size: 11px;
    }
}

.complete .ceatec {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    gap: 40px;
    width: 98%;
    max-width: 960px;
    margin: 78px auto 0;
    padding: 42px 90px 53px;
    border-radius: 20px;
    background-image: linear-gradient(252deg, rgba(17, 103, 232, 0.15) 16%, rgba(154, 225, 255, 0.15) 100%);
}

.complete .ceatec.jms {
    display: block;
}

.complete .ceatec.jms .ceatec_image {
    margin: 30px 0 40px;
    height: auto;
}

.complete .ceatec.jms .ceatec_image img {
    width: auto;
    height: 50px;
}

@media screen and (max-width: 767px) {
    .complete .ceatec.jms .ceatec_image img {
        height: 30px;
    }
}

@media screen and (max-width: 960px) {
    .complete .ceatec {
        padding: 42px 20px 53px;
    }
}

@media screen and (max-width: 767px) {
    .complete .ceatec {
        gap: 20px;
        margin-top: 30px;
        padding: 30px 20px 40px;
        flex-direction: column-reverse;
    }
}

.complete .ceatec_image {
    flex: 0 0 237px;
    height: 275px;
}

.complete .ceatec_image img {
    width: 100%;
    height: auto;
}

.complete .ceatec_label {
    flex: 1 1 calc(100% - 317px);
}

.complete .ceatec_label p {
    font-weight: 700;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .complete .ceatec_label p {
        margin: 0;
        font-size: 13px;
    }
}

.complete .ceatec_registration_button {
    width: 555px;
    max-width: 100%;
    height: 70px;
    margin: 50px auto 18px;
    font-weight: 700;
    font-size: 17px;
    line-height: 1.4;
    letter-spacing: 0;
}

@media screen and (max-width: 767px) {
    .complete .ceatec_registration_button {
        height: 60px;
        margin: 30px auto 0;
        font-size: 15px;
    }
}

.complete .ceatec_registration_button a {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 5px;
    background-color: #EB126D;
    color: #fff;
    text-decoration: none;
    transition: background-color 0.2s;
    position: relative;
}

@media screen and (max-width: 767px) {
    .complete .ceatec_registration_button a {
        padding: 0 32px 0 8px;
        font-size: 14px;
    }
}

.complete .ceatec_registration_button a::after {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    display: block;
    content: "";
    width: 15px;
    height: 15px;
    background: url(../../media/images/common/icon_external.svg) center/100% no-repeat;
}

@media screen and (max-width: 767px) {
    .complete .ceatec_registration_button a::after {
        right: 15px;
    }
}

.complete .ceatec_registration_button a:hover {
    background-color: #E876A6;
}

.error-message {
    margin: 30px 20px;
    border-radius: 4px;
    background: #ffeeee;
    padding: 10px 15px;
    color: #f33;
    font-weight: 700;
}

/*# sourceMappingURL=form.css.map */