@charset "UTF-8";

.twocalm{
    display: flex;
    gap: 6%;
    margin-bottom: 32px;
}


.contents_left{
    width: 47%;
    display: flex;
    gap: 16px;
    flex-flow: column;
}
.contents_right{
    width: 47%;
    position: relative;
}

.contents_left2{
    width: 38%;
    display: flex;
    gap: 16px;
    flex-flow: column;
}
.contents_right2{
    width: 56%;
    position: relative;
}

.contents_right_inner{
    padding:24px;
    border-radius: 10px;
    background-color: #fff;
}
.contents_right_inner .submit{
    margin: 0 auto;
}

.desc14{
    font-size: 14px;
    font-weight: 400;
    line-height: 200%;
    letter-spacing: 0.28px;
}
.desc13{
    font-size: 13px;
    font-weight: 400;
    line-height: 200%;
    letter-spacing: 0.28px;
}
.desc12{
    font-size: 12px;
    font-weight: 400;
    margin-top: 4px;
}

/* footer_contact_wrap */
.footer_contact_wrap{
    padding: 50px 0;
    background-color: #f8f8f8;
}
.footer_contents_twocalm{
    gap: 30px;
    display: flex;
}
.footer_contents_inner{
    width: calc(50% - 15px);
    .img{
        width: 100%;
        max-width: 360px;
        img{
            width: 100%;
        }
    }
}

@media screen and (max-width: 768px) {
    .footer_contents_twocalm{
        flex-flow: column;
    }
    .footer_contents_inner {
        width: 100%;
    }
}

/* estimate form */
.form_block{
    margin-top: 30px;
}

.estimate_title{
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.28px;
    display: flex;
    align-items: center;
}
.required{
    color: #083F91;
    font-size: 10px;
    font-weight: 600;
    line-height: 14px;
    letter-spacing: 0.2px;
    background-color:#DDEAFD;
    padding: 1px 6px;
    margin-left: 6px;
    border-radius: 6px;
}
.optional{
    color: #616F78;
    background: #F0F0F0;
    font-size: 10px;
    font-weight: 600;
    line-height: 14px;
    letter-spacing: 0.2px;
    padding: 1px 6px;
    margin-left: 6px;
    border-radius: 6px;
}
.form_inner{
    display: grid;
    gap: 20px;
}
.mail_wrap{
    display: grid;
    gap: 10px;
}
label{
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.28px;
    font-family: 'Hiragino Sans', sans-serif;
    display: flex;
    align-items: center;
}
.radio{
    margin-right: 9px;
    width: 18px;
    height: 18px;
    margin-top: 1px;
}
/* form */
.form{
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.26px;
    border-radius: 4px;
    outline: 1px solid #C7CED8;
    padding: 12px 10px;
    width: 100%;
}
.form::placeholder{
    color: #72839E;
}
.form_title{
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.28px;
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}
.form_title_min {
    font-size: 11px;
    font-weight: 600;
    margin-block: 5px 3px;
}

.check_consent{
    margin-right: 9px;
    width: 20px;
    height: 20px;
    margin-top: 1px;
}
.form_inner_2{
    margin: 20px 0 10px;
}

.submit{
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.26px;
    color: #fff;
    background-color: var(--primary);
    padding: 14px 0 16px;
    max-width: 300px;
    width: 100%;
    border-radius: 24px;
    margin: 24px auto 32px;
    display: block;
    border: none;
    cursor: pointer;
    position: relative;
    transition: background-color 0.25s ease;
    .submit-btn-text{
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.26px;
        color: #fff;
    }
    .submit-loading__label{
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.26px;
        color: #fff;
    }
}
@media (hover: hover) and (pointer: fine) {
    .submit:hover:not(:disabled){
        background-color: var(--primary-deep);
    }
}
.submit:disabled{
    cursor: not-allowed;
    opacity: 0.9;
}
.submit .submit-loading{
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.submit .submit-loading__spinner{
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: submit-spin 0.7s linear infinite;
}
@keyframes submit-spin{
    to { transform: rotate(360deg); }
}
.submit.is-loading .submit-btn-text{ display: none; }
.submit.is-loading .submit-loading{ display: inline-flex; }
.checkboxes{
    display: flex;
    flex-flow: column;
    gap: 10px;
}

/* contact */
.contact_wrap{
    margin-top: 36px;    
}
.contact_kv_wrap{
    width: 100%;
}
.contact_kv{
    width: 100%;
}
.contact_subtitle{
    color: #0078D7;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
}
.contact_title{
    font-size: 28px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    padding: 20px 0 20px;
}
.contact_desc{
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
}
.contact_partner_desc{
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.26px;
}
/* selectbox */
.select{
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.26px;
    border-radius: 4px;
    border: 1px solid #C7CED8;
    padding: 12px 10px;
    width: 100%;
    background: #fff;
    -webkit-appearance: none;
    appearance: none;
}
.select_wrapper {
    position: relative;
}

.select_wrapper::after {
    content: "";
    position: absolute;
    top: 15px;
    right: 16px;
    width: 8px;
    height: 8px;
    border-right: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
    transform: rotate(45deg);
}

select {
    -webkit-appearance: none;
    appearance: none;
}

textarea{
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.26px;
    border-radius: 4px;
    border: 1px solid #C7CED8;
    padding: 12px 10px;
    width: 100%;
    resize: none;
}

/* contact_block */
.contact_block{
    margin-top: 50px;
}
.contact_block_title_wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 13px;
}
.contact_block_title{
    font-size: 20px;
    font-weight: 700;
}
.contact_block_link{
    color: var(--primary);
    text-align: right;
    font-size: 12px;
    font-weight: 400;
}
.contact_block_faq{
    border-top: 1px solid var(--dark-200);    
}
.contact_block_faq li {
    border-bottom: 1px solid var(--dark-200);    
}
.contact_block_faq li a{
    padding: 20px 0;
    font-size: 14px;
    font-weight: 400;
}

.contanct_link_wrap{
    display: flex;
    gap: 16px;
    flex-flow: column;
}
.contact_link_block{
    border-radius: 6px;
    border: 1px solid var(--dark-200);
    background: var(--white, #FFF);
    padding: 20px 20px 24px;
}
.contact_link_title{
    font-size: 16px;
    font-weight: 700;
    text-decoration-line: underline;
    margin-bottom: 10px;
}
.contact_link_desc{
    font-size: 15px;
    font-weight: 400;
    line-height: 170%;
}
.contact_tel_wrap{
    display: flex;
    padding: 18px 24px;
    flex-flow: column;
    align-items: flex-start;
    gap: 20px;
    border-radius: 8px;
    background:#FFF;
}
.contact_tel_title{
    font-size: 16px;
    font-style: normal;
    font-weight:600;
    line-height: normal;
}
.contact_tel_desc{
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding-top: 6px;
}
.contact_tel_info{
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.contact_tel_info a{
    color: #0078D7;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
}
.form_note_list{
    padding: 16px;
    display: flex;
    flex-flow: column;
    gap: 8px;
    border-radius: 6px;
    background: #FCECEE;
}
.form_note_list li{
    color:#5A121B;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
}
.form_note_list li strong{
    font-weight: 600;
    color:#5A121B;
}
.form_note_title img{
    padding-right: 4px;
}
.form_note_title{
    color:#5A121B;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
}
/* document download */
.document_img img{
    width: 100%;
}
.document_desc_wrap{
    border-radius: 8px;
    background:#FFF;
    padding: 18px 24px;
    display: flex;
    flex-flow: column;
    gap: 12px;
}
.document_desc_title{
    color: var(--black, #212730);
    font-size: 18px;
    font-weight: 600;
}
.document_desc_list{
    display: flex;
    flex-flow: column;
    gap: 12px;
}
.document_desc_list li{
    display: flex;
    align-items: center;
    gap: 12px;
}
.check{
    padding-top: 1px;
}
.document_desc_item{
    font-size: 15px;
}
.document_desc{
    font-size: 12px;
    font-weight: 400;
    line-height: 200%;
}
.plan_title_wrap{
    margin-bottom: 56px; 
}
.plan_title{
    text-align: center;
    font-size: 30px;
    font-weight: 400;
}
.plan_title_desc{
    margin: 10px auto 30px;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
}
.plan_title_border{
    width: 40px;
    height: 2px;
    flex-shrink: 0;
    margin: 0 auto;
    background: var(--primary);
}

.freetrial_desc{
    font-style: normal;
    font-weight: 700;
    line-height: 200%;
    font-size: 16px;
}

.freetrial_right_inner{
    background-color: var(--dark-000);
    border-radius: 16px;
    padding: 36px;
}
.content_submit {
    width: 35%;
}
.content_submit .wp-element-button {
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.26px;
    color: #fff;
    background-color: var(--primary);
    padding: 14px 0 16px;
    max-width: 300px;
    width: 100%;
    border-radius: 24px;
    margin: 24px auto 32px;
    display: block;
    transition-duration: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
    .content_submit .wp-element-button:hover {
        background: var(--primary-deep);
    }
}

/* complete */
.complete_msg_wrap{
    max-width: 996px;
    width: 100%;
    height: 152px;
    border-radius: 10px;
    background-color: var(--dark-000);
    display: flex;
    align-items: center;
    text-align: center;
    padding: 10%;
}

.complete_msg_inner{
    text-align: center;
    width: 100%;
    padding: 10%;
}

.complete_msg{
    font-size: 36px;
    font-weight: 700;
    line-height: 52px;
    letter-spacing: 0em;
    display: inline-block;
}

.complete_desc_wrap{
    max-width: 996px;
    width: 100%;
    padding-top: 32px;
    padding-bottom: 32px;
}

.complete_desc{
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
    text-align: center;
    margin-top: 24px;
}
.form_inner #last_name-error,
.form_inner #first_name-error,
.form_inner #email-error,
.form_inner .phone-error,
.form_inner #zip-error,
.form_inner #state-error,
.form_inner #city-error, 
.form_inner #street-error,
.form_inner #organization-error,
.form_inner #representative_title-error,
.form_inner #representative_name-error,
.form_inner #address-error,
.form_inner #clinic_phone-error,
.form_inner #clinic_or_service_name-error,
.form_inner #contractor_name-error,
.form_inner #payment_method-error,
.form_inner .name_error,
.form_inner .error {
    font-size: 12px;
    color: var(--red800) !important;
    display: block;
    border-radius: 6px;
}
.form_attention {
    color: var(--red800);
    font-size: 14px;
    display: flex;
}
.form_attention_icon {
    color: var(--red800);
    display: block;
}
.contact_type_error label {
    color: var(--red800);
    display: block;
    border-radius: 6px;
}
.contact_consent_error label {
    color: var(--red800);
    display: block;
    border-radius: 6px;
}
.form_consent {
    position: relative;
}
.form_consent p.invalid {
    color: var(--red800);
    display: block;
    position: absolute;
    bottom: -28px;
    border-radius: 6px;
}

#validationStep{
    border-radius: 10px;
    padding: 24px;
}
.validationStep_title{
    font-size: 22px;
    font-weight: 600;
    text-align: center;
}
.validationStep_desc{
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    margin-top: 10px;
}
.btn_flex{
    display: flex;
    gap: 12px;
    flex-flow: column;
    margin-top: 24px;
}
#yesBtn{
    width: 100%;
    text-align: center;
    color:#fff;
    background-color: var(--primary);
    padding: 12px;
    border-radius: 40px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}
#noBtn{
    width:100%;
    text-align: center;
    background-color: var(--blue100);
    color: var(--blue1100);
    padding: 12px;
    border-radius: 40px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}
.contact_flow{
    width:100%;
    margin-top: 24px;
}
.seminar_form_note{
    font-size: 14px;
    line-height: 170%;
}

/* 404ページ*/
.not-found_link {
    margin-top: 32px;
}

/* responsive */
@media screen and (max-width: 768px) {
	.twocalm{
        display: block;
    }
    .contents_left{
        width: 100%;
    }
    .contents_right{
        width: 100%;
        margin-top: 30px;
    }
    .contents_left2{
        width: 100%;
    }
    .contents_right2{
        width: 100%;
        margin-top: 30px;
    }
    .complete_msg{
        font-size: 22px;
        font-weight: 700;
        line-height: 32px;
        letter-spacing: 0em;
        text-align: center;
    }
    .complete_desc{
        text-align: left;
    }
    .document_desc_wrap {
        padding: 28px 24px;
    }
}


