.company-fv-container{
    background-color: rgb(57, 87, 151, 0.05);
}

.company-fv-wrapper{
    padding-top: calc(100vw * 224 / 1366);
    padding-bottom: calc(100vw * 205 / 1366);
}

.company-fv-content{
    padding-left: calc(100vw * 100 / 1366);
}

.company-fv-content h2{
    font-size: calc(100vw * 64 / 1366);
    color: #1D3A78;
    border-bottom: 1px solid #1D3A78;
    display: inline-block;
    line-height: calc(100vw * 77 / 1366);
}

.company-fv-content p{
    font-size: calc(100vw * 24 / 1366);
    color: #1D3A78;
    line-height: calc(100vw * 29 / 1366);
}

.company-fv-content{
    opacity: 0;
    transform: translateY(18px);
    animation: companyFvIntro .9s cubic-bezier(.2,.8,.2,1) .15s forwards;
}

.company-fv-content h2{
    opacity: 0;
    transform: translateY(10px);
    animation: companyFvIntro .9s cubic-bezier(.2,.8,.2,1) .22s forwards;
}

.company-fv-content p{
    opacity: 0;
    transform: translateY(10px);
    animation: companyFvIntro .9s cubic-bezier(.2,.8,.2,1) .32s forwards;
}

@keyframes companyFvIntro{
    0%{
        opacity: 0;
        transform: translateY(18px);
        filter: blur(6px);
    }
    100%{
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

@media (prefers-reduced-motion: reduce){
    .company-fv-content,
    .company-fv-content h2,
    .company-fv-content p{
        animation: none;
        opacity: 1;
        transform: none;
        filter: none;
    }
}

@media (max-width: 768px){

    .company-fv-wrapper{
        padding-top: calc(100vw * 72 / 375);
        padding-bottom: calc(100vw * 64 / 375);
    }

    .company-fv-content{
        padding-left: calc(100vw * 18 / 375);
        padding-right: calc(100vw * 18 / 375);
    }

    .company-fv-content h2{
        font-size: calc(100vw * 26 / 375);
        line-height: calc(100vw * 34 / 375);
        border-bottom: 1px solid #1D3A78;
        display: inline-block;
        word-break: break-word;
    }

    .company-fv-content p{
        font-size: calc(100vw * 14 / 375);
        line-height: calc(100vw * 20 / 375);
        margin-top: calc(100vw * 10 / 375);
    }
}

.company-sv-wrapper{
    margin-top: calc(100vw * -125 / 1366);
}

.company-sv-content{
    width: calc(100vw * 1264 / 1366);
}

.company-sv-content img{
    width: 100%;
    height: calc(100vw * 250 / 1366);
    object-fit: cover;
	border-radius: 0 40px 40px 0;
}
@media(max-width:768px){
    .company-sv-wrapper{
        margin-top: calc(100vw * -24 / 375);
    }

    .company-sv-content{
        width: 100%;
        padding-left: calc(100vw * 18 / 375);
        padding-right: calc(100vw * 18 / 375);
    }

    .company-sv-content img{
        width: 100%;
        height: calc(100vw * 168 / 375);
        border-radius: calc(100vw * 12 / 375);
        object-fit: cover;
    }
}

.company_message{
    background:#F7F9FC;
    padding-top:calc(100vw * 70 / 1440);
    padding-bottom:calc(100vw * 70 / 1440);
}

.company_message_inner{
    width:calc(100vw * 1027 / 1440);
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap: calc(100vw * 10 / 1440);;
}

.company_message_left{
    width:calc(100vw * 671 / 1440);
}

.company_message_right{
    width:calc(100vw * 356 / 1440);
}

.company_message_right img{
    width:100%;
    height:auto;
    display:block;
}

.company_message_title{
    font-size:calc(100vw * 42 / 1440);
    font-weight:700;
    color:#007DC9;
    letter-spacing:0.08em;
    margin:0 0 calc(100vw * 20 / 1440) 0;
}

.company_message_subtitle{
    font-size:calc(100vw * 16 / 1440);
    color:#000000;
    margin:0 0 calc(100vw * 40 / 1440) 0;
}

.company_message_body p{
    font-size:calc(100vw * 16 / 1440);
    line-height:2;
    color:#000000;
    margin:0 0 calc(100vw * 28 / 1440) 0;
}

.company_message_signature{
    margin-top:calc(100vw * 50 / 1440);
}

.company_message_signature p{
    font-size:calc(100vw * 16 / 1440);
    line-height:1.8;
    margin:0 0 calc(100vw * 8 / 1440) 0;
}

.company_message_signature p:last-child{
    margin-bottom:0;
}

@media(max-width:768px){

    .company_message{
        padding-top: calc(100vw * 50 / 375);
        padding-bottom: calc(100vw * 50 / 375);
    }

    .company_message_inner{
        width: calc(100% - (100vw * 36 / 375));
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        gap: calc(100vw * 22 / 375);
        align-items: stretch;
    }

    .company_message_left{
        width: 100%;
    }

    .company_message_right{
        width: 100%;
        order: -1;
    }

    .company_message_right img{
        width: 100%;
        height: calc(100vw * 400 / 375);
        display: block;
        border-radius: calc(100vw * 12 / 375);
        object-fit: cover;
        object-position: center top;
    }

    .company_message_title{
        font-size: calc(100vw * 26 / 375);
        line-height: calc(100vw * 34 / 375);
        letter-spacing: 0.08em;
        margin-bottom: calc(100vw * 20 / 375);
        display: inline-block;
        border-bottom: 1px solid #007DC9;
        word-break: break-word;
    }

    .company_message_subtitle{
        font-size: calc(100vw * 14 / 375);
        line-height: calc(100vw * 20 / 375);
        margin-bottom: calc(100vw * 22 / 375);
    }

    .company_message_body p{
        font-size: calc(100vw * 14 / 375);
        line-height: calc(100vw * 24 / 375);
        margin-bottom: calc(100vw * 18 / 375);
    }

    .company_message_signature{
        margin-top: calc(100vw * 22 / 375);
    }

    .company_message_signature p{
        font-size: calc(100vw * 14 / 375);
        line-height: calc(100vw * 22 / 375);
        margin-bottom: calc(100vw * 8 / 375);
    }

    .company_message_signature p:last-child{
        margin-bottom: 0;
    }
}

.company_history_container{
    background:#f3f5f7;
    padding:calc(100vw * 120 / 1440) 0;
    overflow:hidden;
}

.company_history_wrapper{
    width:100%;
    max-width:calc(100vw * 1100 / 1440);
    margin:0 auto;
    position:relative;
}

.company_history_title{
    font-size:calc(100vw * 56 / 1440);
    font-weight:700;
    color:#00A1E5;
    margin-bottom:calc(100vw * 12 / 1440);
    letter-spacing:calc(100vw * 2 / 1440);
}

.history_timeline{
    position:relative;
}

.history_line{
    position:absolute;
    left:50%;
    top:0;
    transform:translateX(-50%);
    width:calc(100vw * 6 / 1440);
    height:0;
    background:#1c7ebc;
    z-index:1;
    transition:height 0.9s ease;
}

.history_timeline.active .history_line{
    height:100%;
}

.history_item{
    position:relative;
    width:100%;
    margin-bottom:calc(100vw * 40 / 1440);
    opacity:0;
    transform:translateY(calc(100vw * 30 / 1440));
    transition:all 0.55s ease;
    display:flex;
    align-items:center;
    justify-content:space-between;
    z-index:2;
    min-height:calc(100vw * 380 / 1440);
}

.history_item.active{
    opacity:1;
    transform:translateY(0);
}

.history_year{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    background:#00A1E5;
    color:#fff;
    border-radius:calc(100vw * 12 / 1440);
    font-size:calc(100vw * 22 / 1440);
    font-weight:600;
    z-index:6;
    width:calc(100vw * 112 / 1440);
    height:calc(100vw * 52 / 1440);
    display:flex;
    align-items:center;
    justify-content:center;
}

.history_circle{
    width:calc(100vw * 380 / 1440);
    height:calc(100vw * 380 / 1440);
    border:calc(100vw * 3 / 1440) solid #00A1E5;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:calc(100vw * 34 / 1440);
    font-size:calc(100vw * 20 / 1440);
    color:#00A1E5;
    line-height:1.8;
    background:transparent;
    flex:0 0 auto;
    transition:transform 0.55s ease;
    position:relative;
    z-index:3;
    background: #ffffff;
    font-weight: 900;
}

.history_item.right .history_circle{
    margin-left:auto;
    transform:translateX(calc(100vw * 52 / 1440));
}

.history_item.left .history_circle{
    margin-right:auto;
    transform:translateX(calc(100vw * -52 / 1440));
}

.history_item.active.right .history_circle,
.history_item.active.left .history_circle{
    transform:translateX(0);
}

.history_connector{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    align-items:center;
    z-index:5;
    pointer-events:none;
}

.history_dot{
    width:calc(100vw * 14 / 1440);
    height:calc(100vw * 14 / 1440);
    border-radius:50%;
    background:#dbe6ef;
    display:block;
    flex:0 0 auto;
}

.history_hline{
    width:0;
    height:calc(100vw * 3 / 1440);
    background:#cfd6dc;
    display:block;
    flex:0 0 auto;
    transition:width 0.45s ease;
}

.history_item.active .history_hline{
    width:calc(100vw * 170 / 1440);
}

.history_item.right .history_connector{
    left:calc(50% + calc(100vw * 62 / 1440));
    flex-direction:row;
}

.history_item.left .history_connector{
    right:calc(50% + calc(100vw * 62 / 1440));
    flex-direction:row-reverse;
}

@media (max-width:768px){
    .company_history_container{
        padding:calc(100vw * 80 / 375) 0;
    }

    .company_history_wrapper{
        max-width:none;
        padding:0 calc(100vw * 18 / 375);
    }

    .company_history_title{
        font-size:calc(100vw * 34 / 375);
        margin-bottom:calc(100vw * 54 / 375);
        letter-spacing:calc(100vw * 1 / 375);
    }

    .history_timeline{
        position:relative;
    }

    .history_line{
        width:calc(100vw * 5 / 375);
        z-index:0;
    }

    .history_item{
        margin-bottom:calc(100vw * 16 / 375);
        min-height:auto;
        display:flex;
        flex-direction:column;
        justify-content:flex-start;
        align-items:center;
        padding-top:calc(100vw * 86 / 375);
        padding-bottom:calc(100vw * 18 / 375);
        transform:translateY(calc(100vw * 18 / 375));
        z-index:1;
    }

    .history_year{
        top:calc(100vw * 28 / 375);
        transform:translate(-50%,0);
        width:calc(100vw * 100 / 375);
        height:calc(100vw * 46 / 375);
        border-radius:calc(100vw * 12 / 375);
        font-size:calc(100vw * 18 / 375);
        z-index:5;
    }

    .history_connector{
        display:none;
    }

    .history_circle{
        width:calc(100vw * 310 / 375);
        height:calc(100vw * 310 / 375);
        border:calc(100vw * 3 / 375) solid #00A1E5;
        padding:calc(100vw * 26 / 375);
        font-size:calc(100vw * 14 / 375);
        line-height:1.85;
        margin-top:calc(100vw * 18 / 375);
        transform:none;
        background:#ffffff;
        z-index:2;
    }

    .history_item.right .history_circle,
    .history_item.left .history_circle{
        margin-left:0;
        margin-right:0;
        transform:none;
    }
}