@charset "UTF-8";

.ab_banner {
    position: relative;
    height: 100vh;
    overflow: hidden;
    background-color: var(--li);
}

.ab_banner .center {
    position: absolute;
    left: 50%;
    top: 7rem;
    z-index: 1;
    transform: translateX(-50%);
    padding-top: 4.5rem;
    color: #fff;
}

.ab_banner img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    object-fit: cover;
}

.slogan {
    font-size: 3rem;
    line-height: 150%;
    font-weight: 700;
}

.ab_h3 {
    line-height: 200%;
    font-size: 2.25rem;
    font-weight: 400;
    text-transform: uppercase;
}

.inside-box {
    background: url(/src/image/hbg1.jpg) bottom center / cover;
    padding: 7.5rem 0;
}

.anchor-box {
    display: flex;
    gap: 3.75rem;
    font-size: 1.5rem;
    color: var(--li);
}

#business {
    padding-top: 8rem;
}

.ins_tit {
    font-size: 3.75rem;
    color: var(--li);
    font-weight: 700;
    line-height: 133%;
}

.ins_sub {
    font-size: 3rem;
    color: var(--li);
    font-weight: 500;
    line-height: 133%;
}

#business .info {
    font-size: 1.5rem;
    line-height: 200%;
    color: #777;
    margin: 2.75rem 0 7.5rem;
}

#business ul {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
}

#business ul li {
    width: calc((100% - 6rem) / 3);
    padding: 2.8%;
    padding-bottom: 0;
    font-size: 1.125rem;
    line-height: 167%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#business ul li:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 80%;
    border: 1px solid #dde2e8;
    border-radius: 2rem;
    left: 0;
    top: 0;
    pointer-events: none;
    transition: all .5s ease;
}

#business ul li:hover:before {
    border-color: var(--li);
}

#business ul li h3 {
    font-size: 2.25rem;
    text-align: center;
    color: var(--li);
    border-bottom: 1px solid var(--li);
    padding: 2.25rem 0;
    margin-bottom: 3.5rem;
    line-height: 133%;
}

#business ul li h4 {
    font-size: 1.5rem;
    text-align: center;
    font-weight: 400;
    line-height: 200%;
    margin-bottom: 2.5rem;
}

#business ul li .busi_case {
    margin-top: 3rem;
}

#business ul li .Limg_cov {
    padding-bottom: 133%;
    border-radius: 50rem;
    box-shadow: 0rem 0 .85rem 2px rgb(0 32 98 / 15%);
    margin-top: 3.75rem;
}

#business ul li .Limg_cov:hover img {
    transform: scale(1.05);
}

#global {
    padding-top: 8rem;
    text-align: center;
    margin-bottom: 5.5rem;
}

#global .map {
    position: relative;
    max-width: 83.75rem;
    margin: auto;
}

#global img {
    mix-blend-mode: darken;
}

svg.car-svg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.svg-line {
    pointer-events: none;
    opacity: 0;
    animation-fill-mode: forwards;
}

.svg-line line {
    stroke: #2271b1;
    stroke-width: 2px;
    stroke-dasharray: 0;
    pointer-events: none;
}

.svg-line circle {
    fill: var(--li);
    position: relative;
    z-index: 1;
    pointer-events: auto;
    cursor: pointer;
}

.svg-line text {
    font-size: 2.25rem;
    fill: #777;
}


/* 概要 */
.corporate .inside-box {
    background: url(/src/img/hd-bg.jpg) top center / cover;
    background-repeat: no-repeat;
}

#about {
    padding-top: 8rem;
}

#about .sepa-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#about .sepa-2>* {
    width: 46.5%;
}

#about .info {
    font-size: 1.5rem;
    line-height: 230%;
    margin-top: 3rem;
    color: #777;
}

#about .sepa-2 .se-22 .Limg_cov {
    height: 100%;
    border-radius: 2rem;
}


#about ul.sepa-2 {
    margin-top: 4.5rem;
}

#about ul.sepa-2 li {
    border-bottom: 1px solid #dee1e5;
    font-size: 1.5rem;
    color: rgb(0 0 0 / 80%);
    line-height: 133%;
    padding: 1.6rem 0;
    display: flex;
    align-items: center;
}

#about ul.sepa-2 li:nth-child(1),
#about ul.sepa-2 li:nth-child(2) {
    border-top: 1px solid #dee1e5;
}

#about ul.sepa-2 li span {
    min-width: 9.5rem;
    padding-right: 1rem;
}

#about ul.sepa-2 li p {

    width: calc(100% - 9.5rem);
}

#industry {
    padding-top: 8rem;
}

#industry .info {
    font-size: 1.5rem;
    color: rgb(0 0 0 / 70%);
    line-height: 200%;
    margin: 2rem 0 4rem;
}

#industry ul {
    display: flex;
    gap: 1rem;
}

#industry ul li {
    width: calc((100% - 3rem) / 4);
    background: #fff;
    overflow: hidden;
}

#industry ul li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .5s ease;
    transform: scale(1.01);
}

#industry ul li:hover img {
    transform: scale(1.05);
}

#history {
    padding-top: 8rem;
    overflow: hidden;
}

#history ul {
    display: flex;
    gap: 3.375rem;
    flex-direction: column;
    width: 70%;
}

#history ul li {
    border: 1px solid #fff;
    border-radius: 2rem;
    background: rgb(255 255 255 / 10%);
    padding: 2rem;
    font-size: 1.5rem;
    line-height: 150%;
    color: #292e31;
}

#history ul li h4 {
    font-size: 2.25rem;
    color: var(--li);
    font-weight: 500;
    margin-bottom: 2rem;
    line-height: 100%;
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

#history ul li h4:before {
    content: '';
    width: 1.75rem;
    height: 1.75rem;
    background: #000;
    opacity: .3;
    transform: rotate(45deg);
    border-radius: 50%;
}

#history ul li:nth-of-type(2n) h4:before {
    border-radius: 0;
}


#history ul li:hover {
    background: #fff;
}

#history ul li br {
    display: block;
}

#culture {
    padding-top: 8rem;
}

#culture ul.cult_ab {
    height: 1136px;
    position: relative;
    margin-bottom: 4.4rem;
}

#culture ul.cult_ab li {
    position: absolute;
}

#culture ul.cult_ab li.cir1 {
    left: 0;
    bottom: 10%;
    width: 552px;
    height: 800px;
    z-index: 1;
    color: #fff;
}

ul.cult_ab li.cir1:before {
    content: '';
    background: url(/src/img/cil1.png) center/cover;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    z-index: -1;
}

#culture ul.cult_ab li .t {
    font-size: 60px;
    display: inline-block;
    font-weight: 700;
    line-height: 120%;
}

#culture ul.cult_ab li p {
    line-height: 200%;
    font-size: 24px;
    margin-top: 42px;
}

#culture ul.cult_ab li.cir1 .word {
    position: absolute;
    left: 9%;
    top: 29%;
}

#culture ul.cult_ab li.cir1 .word .t {
    padding-left: 24px;
}

#culture ul.cult_ab li.cir1 p:nth-of-type(2) {
    padding-left: 42px;
}

#culture ul.cult_ab li.cir1 p:nth-of-type(3) {
    padding-left: 120px;
}

#culture ul.cult_ab li.cir2 {
    left: 30%;
    bottom: 14%;
    width: 914px;
    height: 1094px;
    z-index: 2;
    color: #fff;
}

#culture ul.cult_ab li.cir2:before {
    content: '';
    background: url(/src/img/cil2.png) center / cover;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    z-index: -1;
}

#culture ul.cult_ab li.cir3 {
    right: -1%;
    bottom: 0;
    width: 47.0625rem;
    height: 35.6875rem;
    z-index: 1;
    color: var(--li);
    text-align: left;
}

#culture ul.cult_ab li.cir3:before {
    content: '';
    background: url(/src/img/cil3.png) center / cover;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    z-index: -1;
}

#culture ul.cult_ab li.cir2 .word {
    position: absolute;
    left: 6%;
    top: 15%;
    max-width: 848px;
    width: 100%;
}

#culture ul.cult_ab li.cir2 .t {
    text-align: right;
    display: block;
    padding-right: 176px;
}

#culture ul.cult_ab li.cir2 .word b {
    display: block;
    font-size: 36px;
    line-height: 155%;
    font-family: "Arial";
}

#culture ul.cult_ab li.cir2 .word p:nth-of-type(1) {
    padding-left: 208px;
}

#culture ul.cult_ab li.cir2 .word p:nth-of-type(2) {
    padding-left: 160px;
}

#culture ul.cult_ab li.cir2 .word p:nth-of-type(3) {
    padding-left: 96px;
}

#culture ul.cult_ab li.cir2 .word p:nth-of-type(4) {
    padding-left: 24px;
    max-width: 660px;
}

#culture ul.cult_ab li.cir3 .word {
    position: absolute;
    right: 3%;
    top: 50%;
    max-width: 704px;
    width: 100%;
    transform: translateY(-50%);
}

#culture ul.cult_ab li.cir3 .t {
    text-align: right;
    display: block;
    padding-right: 80px;
}

#culture ul.cult_ab li.cir3 .word p:nth-of-type(1) {
    padding-left: 224px;
}

#culture ul.cult_ab li.cir3 .word p:nth-of-type(2) {
    padding-left: 160px;
}

#culture ul.cult_ab li.cir3 .word p:nth-of-type(3) {
    padding-left: 96px;
}

/* 产品 */
.pro-box {
    background-image: linear-gradient(180deg, #f7fbff, #dae5f1);
    padding: 8rem 0;
}

.pro-box .pro_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 6rem;
    gap: 3rem;
}

.pro-box .pro_wrapper .pro_item {
    width: calc((100% - 6rem) / 3);
    text-align: center;
    font-size: 2.25rem;
    color: var(--li);
    font-weight: 500;
    line-height: 100%;
}

.pro-box .pro_wrapper .pro_item:nth-child(n+3) {
    display: none;
}

.pro-box .pro_wrapper .Limg_con {
    padding-bottom: 88%;
    background: #fff;
    border-radius: 2rem;
    margin-bottom: 3.375rem;
    box-shadow: 0rem 0 .85rem 2px rgb(0 32 98 / 15%);
}

.pro-box .pro_wrapper .pro_item:hover .Limg_con {
    box-shadow: 0rem 0 0rem 1px rgb(0 32 98 / 15%);
}

.pro-box .pro_wrapper .pro_item:hover img {
    transform: translate(-50%, -50%) scale(1.05);
}

.pro-box .proList {
    display: flex;
    flex-wrap: wrap;
    margin-top: 4rem;
    gap: 5rem;
}

.pro-box .proList .proItem {
    background: #fff;
    width: 100%;
    border-radius: 2rem;
    box-shadow: 0rem 0 .85rem 2px rgb(0 32 98 / 15%);
    padding: 3.75rem;
}

.pro-box .proList .proItem .pro_tit {
    font-size: 2.25rem;
    color: var(--li);
    line-height: 167%;
}

.pro-box .proList .proItem img.pro_img {
    display: block;
    margin: 0 auto 3.75rem;
}

.pro-box .proList .proItem .pro_con {
    width: 96%;
    margin: auto;
}

.pro-box .proList .proItem .pro_con table {
    width: 100% !important;
    border-collapse: collapse;
}

.download_li,
.pro-box .proList .proItem .pro_con table td {
    border-top: 1px solid #cccccc;
    font-size: 1.5rem;
    color: #777;
    line-height: 133%;
    padding: 1.5rem 0;
}

.pro-box .proList .proItem .pro_con table tr td:last-child {
    text-align: right;
}

.download_li a {
    text-decoration-line: underline;
    text-decoration-color: #9d9d9d;
    text-decoration-thickness: 1px;
    text-underline-offset: .5rem;
}

.download_li a:hover {
    color: var(--li);
    text-decoration-color: var(--li);
}

.pro-box .proList .proItem .pro_con h3 {
    color: #000;
    font-size: 2.25rem;
    font-weight: 400;
    line-height: 100%;
    padding: 1.5rem 0;
}

.pro-box .proList .proItem .pro_con table+p {
    display: none;
}

.Product_plaintetc {
    margin-top: 8rem;
}

.Product_plaintetc ul {
    margin: 5rem 0;
}

.Product_plaintetc ul li {
    background: #fff;
    border-radius: 2rem;
    text-align: left;
    box-shadow: 0rem 0 .85rem 2px rgb(0 32 98 / 15%);
    overflow: hidden;
}

.Product_plaintetc ul li .Limg_cov {
    padding-bottom: 28%;
}

.Product_plaintetc ul li p {
    font-size: 2.25rem;
    color: var(--li);
    font-weight: 500;
    line-height: 100%;
    padding: 2rem 2rem;
}

.Product_plaintetc ul li:hover img {
    transform: scale(1.05);
}

@media only screen and (max-width:1800px) and (min-width:769px) {
    #business ul li {
        width: calc((100% - 4rem) / 3);
        padding: 2%;
    }

    #business ul {
        gap: 2rem;
    }

    #culture ul.cult_ab {
        height: 59.167vw;
    }

    #culture ul.cult_ab li.cir1 {
        width: 28.75vw;
        height: 41.667vw;
    }



    #culture ul.cult_ab li .t {
        font-size: 3.125vw;
    }

    #culture ul.cult_ab li p {
        font-size: 1.25vw;
        margin-top: 2.188vw;
    }

    #culture ul.cult_ab li.cir1 .word {
        left: 9%;
        top: 29%;
    }

    #culture ul.cult_ab li.cir1 .word .t {
        padding-left: 1.25vw;
    }

    #culture ul.cult_ab li.cir1 p:nth-of-type(2) {
        padding-left: 2.188vw;
    }

    #culture ul.cult_ab li.cir1 p:nth-of-type(3) {
        padding-left: 6.25vw;
    }

    #culture ul.cult_ab li.cir2 {
        width: 47.604vw;
        height: 56.979vw;
    }


    #culture ul.cult_ab li.cir3 {
        width: 47.0625rem;
        height: 35.6875rem;
    }


    #culture ul.cult_ab li.cir2 .word {
        left: 6%;
        top: 15%;
        max-width: 44.167vw;
    }

    #culture ul.cult_ab li.cir2 .t {
        padding-right: 9.167vw;
    }

    #culture ul.cult_ab li.cir2 .word b {
        font-size: 1.875vw;
    }

    #culture ul.cult_ab li.cir2 .word p:nth-of-type(1) {
        padding-left: 10.833vw;
    }

    #culture ul.cult_ab li.cir2 .word p:nth-of-type(2) {
        padding-left: 8.333vw;
    }

    #culture ul.cult_ab li.cir2 .word p:nth-of-type(3) {
        padding-left: 5vw;
    }

    #culture ul.cult_ab li.cir2 .word p:nth-of-type(4) {
        padding-left: 1.25vw;
        max-width: 34.375vw;
    }

    #culture ul.cult_ab li.cir3 .word {
        max-width: 36.667vw;
    }

    #culture ul.cult_ab li.cir3 .t {
        padding-right: 4.167vw;
    }

    #culture ul.cult_ab li.cir3 .word p:nth-of-type(1) {
        padding-left: 12vw;
    }

    #culture ul.cult_ab li.cir3 .word p:nth-of-type(2) {
        padding-left: 8.333vw;
    }

    #culture ul.cult_ab li.cir3 .word p:nth-of-type(3) {
        padding-left: 5vw;
    }

    .pro-box .pro_wrapper .Limg_con img {
        max-height: 50%;
        max-width: 70%;
    }
}

@media only screen and (max-width:1366px) {
    #culture ul.cult_ab li.cir3 {
        right: -3%;
    }
}

@media only screen and (max-width:768px) {
    .slogan {
        font-size: 1.8rem;
    }

    .ab_h3 {
        line-height: 133%;
        font-size: 1.5rem;
        margin-top: 1rem;
    }

    .ab_banner .center {
        top: 0;
        padding-top: 3rem;
    }

    .ab_banner {
        height: 60vh;
    }

    .inside-box {
        padding: 6rem 0;
    }

    .anchor-box {
        gap: 3rem;
        font-size: 1.25rem;
    }

    #business {
        padding-top: 4rem;
    }

    .ins_tit {
        font-size: 2.5rem;
    }

    .ins_sub {
        font-size: 2rem;
    }

    #business .info {
        font-size: 1.25rem;
        margin: 2rem 0 3rem;
    }

    #business ul li {
        width: 100%;
    }

    #business ul li h3 {
        font-size: 2rem;
        padding: 3rem 0 2rem;
        margin-bottom: 2rem;
    }

    .svg-line {
        visibility: visible !important;
        pointer-events: none;
        opacity: 1;
        animation-fill-mode: both;
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        animation-name: none !important;
    }

    #about {
        padding-top: 4rem;
    }

    #about .sepa-2>* {
        width: 100%;
    }

    #about .info {
        font-size: 1.25rem;
        line-height: 200%;
        margin-top: 2rem;
    }

    #about ul.sepa-2 {
        margin-top: 3rem;
    }

    #about ul.sepa-2 li span {
        min-width: 8rem;
        font-size: 1.25rem;
    }

    #about ul.sepa-2 li:nth-child(1),
    #about ul.sepa-2 li:nth-child(2) {
        border-top: none;
    }

    #about ul.sepa-2 li {
        font-size: 1.25rem;
        padding: 1.25rem 0;
    }

    #business ul li h4 {
        line-height: 167%;
    }

    #industry {
        padding-top: 6rem;
    }

    #industry .info {
        font-size: 1.25rem;
        margin: 2rem 0 3rem;
    }

    #industry ul {
        gap: .5rem;
    }

    #industry ul li {
        width: calc((100% - 1.5rem) / 4);
    }

    #history {
        padding-top: 6rem;
    }

    #history ul {
        gap: 1rem;
        width: 100%;
        margin-top: 2rem;
    }

    #history ul li {
        font-size: 1.25rem;
        line-height: 167%;
    }

    .corporate .inside-box #culture ul.cult_ab li {
        position: relative;
        width: 100%;
        left: 0;
        right: auto;
        top: auto;
        bottom: auto;
    }

    .center.culture-center {
        max-width: 100%;
        width: 100%;
    }

    #culture ul.cult_ab {
        height: auto;
        overflow: hidden;
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 0;
    }

    #culture ul.cult_ab li.cir1 {
        height: 155vw;
        padding-top: 70vw;
        z-index: 3;
    }

    .corporate .inside-box #culture ul.cult_ab li .word {
        position: relative;
        left: 0;
        top: 0;
        transform: none;
    }

    #culture ul.cult_ab li p {
        font-size: 4vw;
        margin-top: 5vw;
    }

    #culture ul.cult_ab li .t {
        font-size: 8vw;
    }

    #culture ul.cult_ab li.cir1 .word .t,
    #culture ul.cult_ab li.cir1 p:nth-of-type(1),
    #culture ul.cult_ab li.cir1 p:nth-of-type(2) {
        padding-left: 5vw;
    }

    #culture ul.cult_ab li.cir1 p:nth-of-type(3) {
        padding-left: 20vw;
    }

    #culture ul.cult_ab li.cir3 {
        height: 100vw;
        padding-top: 25vw;
        z-index: 2;
    }

    #culture ul.cult_ab li.cir3 .t {
        padding-right: 10vw;
    }

    #culture ul.cult_ab li.cir2 {
        height: 190vw;
        order: 2;
        z-index: 1;
        padding-top: 11vw;
    }

    #culture ul.cult_ab li.cir3 .word p:nth-of-type(3),
    #culture ul.cult_ab li.cir3 .word p:nth-of-type(2),
    #culture ul.cult_ab li.cir3 .word p:nth-of-type(1) {
        padding-left: 5vw;
    }

    #culture ul.cult_ab li.cir3 .word p:nth-of-type(2) br {
        display: none;
    }

    #culture ul.cult_ab li.cir1:before {
        transform: translateY(10%);
    }

    #culture ul.cult_ab li.cir2:before {
        transform: rotateY(180deg) translateY(-5%);
    }

    #culture ul.cult_ab li.cir3:before {
        transform: translateY(5%);
    }

    #culture ul.cult_ab li.cir2 .t {
        text-align: left;
        padding-right: 0;
        padding-left: 5vw;
    }

    #culture ul.cult_ab li.cir2 .word p:nth-of-type(4),
    #culture ul.cult_ab li.cir2 .word p:nth-of-type(3),
    #culture ul.cult_ab li.cir2 .word p:nth-of-type(2) {
        padding-left: 5vw;
    }

    #culture ul.cult_ab li.cir2 .word p:nth-of-type(1) {
        padding-left: 5vw;
        max-width: 73vw;
    }

    #culture ul.cult_ab li.cir2 .word b {
        font-size: 5vw;
    }

    .pro-box .pro_wrapper {
        margin-bottom: 4rem;
        gap: 3rem;
    }

    .pro-box .pro_wrapper .pro_item {
        width: 100%;
        font-size: 2rem;
    }

    .pro-box {
        padding: 6rem 0;
    }

    .pro-box .pro_wrapper .Limg_con {
        margin-bottom: 2rem;
    }

    .pro-box .proList {
        margin-top: 2rem;
        gap: 3rem;
    }

    .pro-box .proList .proItem {
        padding: 1.75rem;
    }

    .pro-box .proList .proItem .pro_tit {
        font-size: 1.5rem;
    }

    .pro-box .proList .proItem .pro_con table td {
        display: block;
        width: 100%;
        padding: 1rem 0 0;
        font-size: 1.25rem;
        color: var(--li);
    }

    .pro-box .proList .proItem .pro_con table tr td:last-child {
        text-align: left;
        font-weight: normal;
        color: #333;
        border: none;
        padding: .5rem 0 1rem;
    }

    .download_li {
        border-top: 1px solid #cccccc;
        font-size: 1.25rem;
    }

}

@media only screen and (max-width:375px) {
    .slogan {
        font-size: 1.4rem;
    }
}