.company_intro{
    max-width:1200px;
    margin:0 auto;
    padding:10px 0 30px;
}

.company_intro h3{
    font-size:34px;
    margin-bottom:40px;
    font-weight:700;
}

.intro_visual{
    text-align:center;
    padding:100px 40px;
    background:#eff5f9;
    border-radius:12px;
    margin-bottom:100px;
}

.intro_visual span{
    display:block;
    color:#2f80ed;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:15px;
    font-size: 18px
}

.intro_visual h2{
    font-size:48px;
    margin-bottom:20px;
    line-height:1.4;
}

.intro_visual p{
    font-size:20px;
    color:#666;
    line-height:1.8;
}

.intro_message{
    width:100%;
    max-width:600px;
    margin:0 auto 100px;
}

.intro_message p{
    font-size:18px;
    line-height:2;
    color:#555;
    margin-bottom:25px;
}

.intro_message strong{
    display:block;
    margin-top:50px;
    font-size:20px;
    font-weight:700;
    text-align:right;
}

.intro_value ul{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.intro_value li{
    list-style:none;
    background:#fafafa;
    padding:45px 35px;
    border-radius:12px;
    transition:.3s;
}

.intro_value li:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.intro_value span{
    display:block;
    font-size:42px;
    color:#2f80ed;
    font-weight:700;
    margin-bottom:20px;
}

.intro_value h4{
    font-size:24px;
    margin-bottom:15px;
}

.intro_value p{
    line-height:1.8;
    color:#666;
}


.location_wr{display:flex;flex-flow:column nowrap;gap:40px;margin:50px auto 0;}
.location_wr h2{font-size: 34px;font-weight: 700;}
.location_map{position:relative;border-radius: 16px;overflow: hidden;}
.location_map .location_floating_info{display: flex;flex-flow: row nowrap;justify-content: center;gap: 20px;position: absolute;bottom: 0;left: 0;z-index: 2;width: 100%;padding: 20px 10px;font-size: 14px;color: #fff;background: #4869b0;}
.location_map .location_floating_info > div{display:flex;flex-flow:row nowrap;align-items:center;gap:10px;}
.location_map .location_icon{width:20px;object-fit: contain;}


@media(max-width:768px){

    .company_intro{
        padding:50px 0;
    }

    .intro_visual{
        padding:60px 25px;
        margin-bottom:60px;
    }

    .intro_visual h2{
        font-size:32px;
    }

    .intro_visual p{
        font-size:16px;
    }

    .company_intro h3{
        font-size:28px;
    }

    .intro_message p{
        font-size:16px;
    }

    .intro_value ul{
        grid-template-columns:1fr;
    }

}