﻿/**banner**/
.main_visual .owl-carousel,.main_visual .owl-stage-outer,.main_visual .owl-stage,.main_visual .owl-carousel .owl-item{width: 100%;height: 100%; }
.main_visual .owl-carousel .item{width: 100%;height: 100%; overflow: hidden; margin: 0 auto;}
.main_visual .owl-carousel .item a{ display: block;  width: 100%;height: 100%;}
.main_visual .owl-carousel .item img{ width: 100%;height: 100%; display: block;}
.main_visual .owl-prev,.main_visual .owl-next{ display: none; text-indent: -999px; overflow: hidden;}
.main_visual .owl-dots{ display:none; text-indent:-9999em;}
.main_visual .owl-dots .owl-dot{display: inline-block;  margin:0 6px;}
.main_visual .owl-dots .owl-dot span{  display: inline-block; width: 14px; height: 14px; background:#FFFFFF; border-radius:50%; }
.main_visual .owl-dot.active span{ background:#111; }
.main_visual .owl-controls{ height: 0;}
.main_visual .owl-nav{ height: 0;}

.main_visual .owl-carousel .item img.Bpic{ display: block;}
.main_visual .owl-carousel .item img.Bmpic{ display: none;}


.home-about-title{ padding: 140px 0 70px 0; border-bottom:1px solid #111111;}
.home-about-title h1{ color: #111111; font-size: 3.6rem; line-height: 85px;}
.home-about-title h2{ font-weight: normal; font-size: 1.3rem;  font-family: myFirstFont3; color: #111; line-height: 60px;}
.home-about-title h3{ font-size: 2.1rem; font-family: myFirstFont;  font-weight: normal; max-width: 650px; line-height: 40px; color:#292929;}

.home-about{ padding: 80px 0;}
.home-about-pic{ width: 65%;}
.home-about-pic img{ width: 100%; height: auto; border-radius:30px;}

.home-about-list{ width: 35%; padding-left: 60px; }
.home-about-list-info{ width: 100%; gap: 20px; grid-template-columns: repeat(1, 1fr); /* 3 列 */  display: grid;}
.home-about-list dl{ border:1px solid #CCCCCC; border-radius:12px; padding: 0 18px; cursor: pointer;}
.home-about-list dl dt{ width: 100%; padding: 25px 0;}
.home-about-list dl dt i{ display: inline-block; width: 31px; height: 31px; }
.home-about-list dl dt i.fa-angle-up1{background:url(../images/fajt.png) no-repeat;}
.home-about-list dl dt i.fa-angle-down1{background:url(../images/fajts.png) no-repeat;}
.home-about-list dl dt b{ display: block; width: calc(100% - 31px); padding-left: 15px; color: #111111; font-family: myFirstFont1; font-size: 1.4rem; overflow: hidden; height: 30px; line-height: 30px; overflow: hidden;}
.home-about-list dl dd{ display: none; border-top:1px solid #111111; padding: 25px 0;}
.home-about-list dl dd h4{ font-size: 1.1rem; line-height: 28px; margin-bottom: 5px; color:#373737}
.home-about-list dl dd p{ line-height: 18px;}


.home-about-list-info dl.open{ background:#f8f9fa;}


.home-services{ width: 100%; height: auto; background: #f8f9fa; padding: 80px 0;}
.home-services-title{border-bottom:1px solid #111111; line-height: 56px; padding-bottom: 20px;}
.home-services-title h2{ font-size: 2.8rem; color: #111111;}

.home-services-list{ padding-top: 50px; gap: 30px; grid-template-columns: repeat(3, 1fr); /* 3 列 */  display: grid;}

.home-services-list .home-services-item{ width: 100%; background: #FFFFFF; border:1px solid #CCCCCC; border-radius:12px; padding: 30px;}
.home-services-list .home-services-item h3{ color: #111111; font-size: 1.4rem; line-height: 70px;}
.home-services-list .home-services-item-info{ width: 100%; border-top: 1px solid #111; padding: 25px 0; font-size: 1rem; line-height: 22px; min-height: 138px;}
.home-services-list .home-services-item a{ display: inline-block; line-height: 40px; height:40px; font-size: 1rem; color: #111111; font-family: myFirstFont2;  text-decoration-thickness: 1px; text-underline-offset: 6px; }
.home-services-list .home-services-item a::after{ background:url(../images/blogjt1.png) no-repeat; content:""; width:10px; height:10px; display:inline-block; margin-left:10px;}
.home-services-list .home-services-item a:hover{ text-decoration: underline; }
.home-services-list .home-services-item a:hover::after{  background:url(../images/blogjts1.png) no-repeat;  width:11px;}


/* hover 动效：黑色主调 */
.home-services-list .home-services-item{
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-services-list .home-services-item h3,
.home-services-list .home-services-item a{
  transition: color .2s ease;
}

.home-services-list .home-services-item-info{
  transition: border-color .2s ease;
}

.home-services-list .home-services-item:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 45px rgba(0,0,0,.14);
}

.home-services-list .home-services-item:hover .home-services-item-info{
  border-top-color: #000000;
}

/* 标题更强调一点（仍然是黑） */
.home-services-list .home-services-item:hover h3{
  color: #000000;
}

/* 链接 hover 更明显 */
.home-services-list .home-services-item:hover a{
  color: #000000;
}

/* 小图标微移动（更有质感） */
.home-services-list .home-services-item a img{
  transition: transform .2s ease;
}
.home-services-list .home-services-item:hover a img{
  transform: translateX(4px);
}


.home-blog-title{ padding: 65px 0 15px 0; border-bottom:1px solid #111111;}
.home-blog-title-left{}
.home-blog-title-left em{ display: block; font-size: 1.4rem; color: #111111; line-height: 36px;}
.home-blog-title-left h2{ color: #111111; font-size: 2.8rem; line-height: 48px;}
.home-blog-title a{ display: inline-block;  color: #FFFFFF; background: #000000; height: 44px; line-height: 44px; border-radius:12px; font-size: 1.1rem; padding: 0 22px; margin-top: 40px;}
.home-blog-title a:hover{color: #000; border:1px solid #000000;  background:none;}


.home-blog{ margin-top: 40px !important; padding-bottom: 150px;}

.main_visual1 .owl-carousel,.main_visual1 .owl-stage-outer,.main_visual1 .owl-stage,.main_visual1 .owl-carousel .owl-item{width: 100%;height: 100%; }
.main_visual1 .owl-carousel .item{width: 100%;height: 100%; overflow: hidden; margin: 0 auto;}
.main_visual1 .owl-carousel .home-blog-item-pic{ width: 100%; height: auto; overflow: hidden; border-radius:20px;}
.main_visual1 .owl-carousel .home-blog-item-pic img{ width: 100%; height: auto; border-radius:20px;}
.main_visual1 .owl-carousel .home-blog-item-pic:hover img{  transform: scale(1.06);}

.main_visual1 .owl-carousel .home-blog-item-info{ padding: 20px; text-align: center;}
.main_visual1 .owl-carousel .home-blog-item-info em{ }
.main_visual1 .owl-carousel .home-blog-item-info em img{ width: 30px; height: 21px; display: inline-block; margin-right: 10px;}
.main_visual1 .owl-carousel .home-blog-item-info h3{ font-size: 1.3rem;  font-family: myFirstFont; font-weight:400; color: #111111; line-height: 52px; height: 52px; overflow: hidden;}
.main_visual1 .owl-carousel .home-blog-item-info a{ display: inline-block; color: #FFFFFF; background: #000000; height: 30px; line-height: 30px; border-radius:30px; padding: 0 15px;}
.main_visual1 .owl-carousel .home-blog-item-info a i{ display:inline-block; background:url(../images/blogjt.png) no-repeat center; width: 10px; height: 10px; display: inline-block; margin-left: 10px;}
.main_visual1 .owl-carousel .home-blog-item-info a:hover i{ background:url(../images/blogjts.png) no-repeat center; }

.main_visual1 .owl-prev,.main_visual1 .owl-next{width:50px;height: 50px; border:1px solid #CCCCCC; border-radius:50%;box-shadow: 0 2px 4px rgba(0,0,0,.2); background-repeat: no-repeat; background-size:cover; background-position: center center; position: absolute;top: 50%;margin-top: -9px;text-indent: -999px; overflow: hidden;}
.main_visual1 .owl-prev{background-image: url(../images/bl.png);left:-85px; }
.main_visual1 .owl-next{background-image: url(../images/br.png);right:-85px; }
.main_visual1 .owl-dots{ width: 100%; text-align: center; height: 12px; position:absolute; left: 0; bottom: -50px;  z-index: 999;}
.main_visual1 .owl-dots .owl-dot{display: inline-block;  margin:0 5px;}
.main_visual1 .owl-dots .owl-dot span{  display: inline-block; width: 12px; height: 12px;  background:#FFFFFF; border:1px solid #000; border-radius:50%;}
.main_visual1 .owl-dot.active span{  background:#000;}
.main_visual1 .owl-controls{ height: 0;}
.main_visual1 .owl-nav{ height: 0;}

.home-process{ width: 100%; background: #f8f9fa; padding-top: 110px;}
.home-process-title{}
.home-process-title em{ display: block; font-size: 1.4rem; color: #111111; line-height: 36px;   font-family: myFirstFont3;}
.home-process-title h2{ color: #111111; font-size: 2.8rem; line-height: 48px;}

.home-process-list{ padding: 80px 0; gap: 50px; grid-template-columns: repeat(5, 1fr); /* 3 列 */  display: grid;}

.home-process-item{ width: 100%; }
.home-process-item-pic{ width: 78px; height: 78px; border-radius:10px; background: #eeeff0; transition:transform .35s ease;}
.home-process-item-info{ width: 100%; margin-top: 30px;}
.home-process-item-info h3{ color: #111111; font-size: 1.2rem; line-height: 32px; margin-bottom: 8px;}
.home-process-item-info p{ line-height: 18px;}


/* 让线条以图标块为参照 */
.home-process-item{ position: relative; }

/* 图标块作为“线条起点” */
.home-process-item-pic{
  position: relative;
}

/* 横线：1px 纯黑 */
.home-process-item:not(:last-child) .home-process-item-pic:after{
  content:"";
  position:absolute;
  left: calc(100% + 32px);
  top: 50%;
  transform: translateY(-50%);
  width: 140px;      /* 长度按需微调 */
  height: 1px;       /* ✅ 1px */
  background: #000;  /* ✅ 纯黑 */
}

.home-say{ width: 100%; background: #f8f9fa; padding-top: 110px; padding-bottom: 80px; text-align: center;}
.home-say h2{ font-size: 3.4rem; color: #111111; line-height: 100px;}
.home-say-icon{ width: 56px; height: 39px; margin: 0 auto; margin-top: 60px;}
.home-say-icon img{ width: 100%; height: auto;}

.home-say-box{ padding: 60px 0 100px 0;}

.main_visual2 .owl-carousel,.main_visual2 .owl-stage-outer,.main_visual2 .owl-stage,.main_visual2 .owl-carousel .owl-item{width: 100%;height: 100%; }
.main_visual2 .owl-carousel .item{width: 100%;height: 100%; overflow: hidden; margin: 0 auto;}
.main_visual2 .owl-carousel .item p{ line-height: 35px; height: 70px; overflow: hidden; font-size: 1.4rem; color: #000000;}
.main_visual2 .owl-carousel .item h3{ font-size: 1.3rem; color: #000000; line-height: 46px; margin-top: 60px;}
.main_visual2 .owl-carousel .item a{ display: inline-block; font-size: 1.3rem; color: #000000; font-family: myFirstFont1; line-height: 46px; height: 46px; text-decoration-thickness: 1px; text-underline-offset: 6px;  margin-top: 45px; position:relative;}



.main_visual2 .owl-carousel .item a img{ width: 14px; height: 13px; display: inline-block; margin-left: 5px;}
.main_visual2 .owl-carousel .item  a::after{ background:url(../images/blogjt1.png) no-repeat; content:""; width:10px; height:10px; display:inline-block; margin-left:10px; }
.main_visual2 .owl-carousel .item  a:hover{ text-decoration: underline; text-decoration-thickness: 0.5px; text-underline-offset: 8px;}
.main_visual2 .owl-carousel .item  a:hover::after{  background:url(../images/blogjts1.png) no-repeat;  width:11px;}

.main_visual2 .owl-prev,.main_visual2 .owl-next{ display: none; text-indent: -999em; overflow: hidden;}
.main_visual2 .owl-dots{ width: 100%; text-align: center; height: 12px; position:absolute; left: 0; bottom: -120px;  z-index: 999;}
.main_visual2 .owl-dots .owl-dot{display: inline-block;  margin:0 5px;}
.main_visual2 .owl-dots .owl-dot span{  display: inline-block; width: 12px; height: 12px; background:#FFFFFF; border:1px solid #000; border-radius:50%;}
.main_visual2 .owl-dot.active span{   background:#000;}
.main_visual2 .owl-controls{ height: 0;}
.main_visual2 .owl-nav{ height: 0;}

.home-map{ width: 100%; height: auto; padding: 80px 0;}
.home-map h2{ font-size: 3.4rem; color: #111111; line-height: 100px; text-align: center;}

.home-map-box{ margin-top: 80px !important;}



 .home-map-box {
            position: relative;
        }

        .home-map-img {
            display: block;
            width: 100%;
            height: auto;
        }

        .home-map-overlay {
            position: absolute;
            inset: 0;
            z-index: 2;
        }

        .home-map-marker-wrap {
            position: absolute;
            left: 0;
            top: 0;
            z-index: 3;
        }

        .home-map-marker {
            position: absolute;
            left: 0;
            top: 0;
            width: 22px;
            height: 30px;
            transform: translate(-50%, -100%);
            cursor: pointer;
            z-index: 2;
        }

            .home-map-marker svg {
                width: 15px;
                height: 20px;
                display: block;
                filter: drop-shadow(0 2px 3px rgba(0,0,0,.12));
                transition: all .2s ease;
            }

            .home-map-marker:hover svg,
            .home-map-marker.active svg {
                transform: translateY(-1px) scale(1.05);
            }

        .home-map-marker-label {
            position: absolute;
            left:9px;
            top: 50%;
            transform: translateY(-50%);
            white-space: nowrap;
            font-size: 14px;
            line-height: 1.2;
            font-weight: 600; 
            color: #222;
            pointer-events: none;
        }

        .home-map-popup {
            position: absolute;
            min-width: 220px;
            max-width: 360px;
            padding: 18px 18px 16px;
            border-radius: 16px;
            background: #f3f3f3;
            border: 1px solid #d9d9d9;
            box-shadow: 0 8px 22px rgba(0,0,0,.16);
            display: none;
            z-index: 10;
        }

            .home-map-popup.show {
                display: block;
                animation: homeMapFadeUp .22s ease both;
            }

        @keyframes homeMapFadeUp {
            from {
                opacity: 0;
                transform: translateY(8px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .home-map-popup-title {
            margin: 0 0 14px;
            font-size: 18px;
            line-height: 1.2;
            font-weight: 700;
            color: #111;
        }

        .home-map-popup-close {
            position: absolute;
            right: 10px;
            top: 8px;
            width: 24px;
            height: 24px;
            border: none;
            background: none;
            font-size: 18px;
            line-height: 24px;
            color: #666;
            cursor: pointer;
            padding: 0;
        }

            .home-map-popup-close:hover {
                color: #111;
            }

        .home-map-popup-list {
            margin: 0;
            padding: 0;
            list-style: none;
        }

            .home-map-popup-list li {
                margin: 0 0 6px;
                padding: 0;
                font-size: 15px;
                line-height: 1.55;
            }

                .home-map-popup-list li:last-child {
                    margin-bottom: 0;
                }

            .home-map-popup-list a {
                color: #333;
                text-decoration: none;
                border-bottom: 1px solid transparent;
                transition: all .2s ease;
            }

                .home-map-popup-list a:hover {
          text-decoration:underline;  text-decoration-thickness: 1px; text-underline-offset: 6px; text-decoration-color: #d9250f; color:#d9250f
                }

            .home-map-popup-list li.active a {
            
            }

.home-map-marker-label {
    display: none;
}
@media (max-width: 1200px) {
.main_visual{margin-top: 61px;}
.main_visual .owl-carousel,.main_visual .owl-stage-outer,.main_visual .owl-stage,.main_visual .owl-carousel .owl-item{width: 100%;height: 100% !important;}
.main_visual .owl-carousel .item{width: 100%;height: 100%; background-repeat: no-repeat; background-position: center center;-webkit-background-size: cover; background-size: cover;}
.main_visual .owl-carousel .item img{ width: 100%; height: auto;}

.main_visual .owl-dots{  height: 8px;  bottom: 10px; }
.main_visual .owl-dots .owl-dot{ margin:0 3px;}
.main_visual .owl-dots .owl-dot span{  display: inline-block; width: 8px; height: 8px; }


.main_visual .owl-carousel .item img.Bpic{ display: none;}
.main_visual .owl-carousel .item img.Bmpic{ display:block;}

.home-about-title{ padding: 30px 0; }
.home-about-title h1{  font-size: 1.8rem; line-height:40px;}
.home-about-title h2{  font-size: 1.1rem;  line-height:30px;}
.home-about-title h3{ font-size: 1.2rem;  max-width: 100%; line-height: 30px;}

.home-about{ padding: 30px 0;}
.home-about-pic{ width: 100%;}


.home-about-list{ width: 100%; padding-left: 0; margin-top: 30px; }
.home-about-list-info{ gap:10px;}
.home-about-list dl{ padding: 0 15px; }
.home-about-list dl dt{  padding: 15px 0;}
.home-about-list dl dt i{font-size: 1.2rem; }
.home-about-list dl dt b{  font-size: 1.2rem; }
.home-about-list dl dd{  padding: 15px 0;}
.home-about-list dl dd h4{ font-size: 1rem; }

.home-services{  padding: 30px 0;}
.home-services-title{ line-height: 46px; padding-bottom:10px;}
.home-services-title h2{ font-size: 1.6rem; }

.home-services-list{ padding-top: 20px; gap: 10px; grid-template-columns: repeat(1, 1fr); /* 3 列 */  display: grid;}

.home-services-list .home-services-item{  padding: 20px;}
.home-services-list .home-services-item h3{ color: #111111; font-size: 1.2rem; line-height: 50px;}
.home-services-list .home-services-item-info{  padding: 15px 0; font-size: 0.9rem; }

.home-blog-title{ padding: 35px 0 15px 0; }
.home-blog-title-left em{  font-size: 1.2rem; line-height: 30px;}
.home-blog-title-left h2{  font-size: 1.6rem; line-height: 38px;}
.home-blog-title a{height: 40px; line-height: 40px; font-size: 1rem; padding: 0 12px; margin-top: 15px;}



.home-blog{ margin-top: 20px !important; padding-bottom: 100px;}

.home-process{  padding-top: 30px;}
.home-process-title em{ font-size: 1.1rem; color: #111111; line-height: 30px;}
.home-process-title h2{ font-size:1.6rem; line-height: 38px;}

.home-process-list{ padding: 30px 0; gap: 10px; grid-template-columns: repeat(1, 1fr); /* 3 列 */  display: grid;}

.home-process-item{ width: 100%; cursor: pointer; background: #FFFFFF; border-radius:12px; border:1px solid #CCCCCC; padding: 20px;}
.home-process-item-info{ width: 100%; margin-top: 20px;}
.home-process-item-info h3{  font-size: 1.1rem;  margin-bottom: 5px;}



/* 横线：1px 纯黑 */
.home-process-item:not(:last-child) .home-process-item-pic:after{
  width: 0;      /* 长度按需微调 */
  height: 0;       /* ✅ 1px */
  background: none;  /* ✅ 纯黑 */
}



.home-say{padding-top: 30px; padding-bottom: 80px; text-align: center;}
.home-say h2{ font-size:1.6rem; line-height: 40px;}
.home-say-icon{margin-top: 20px;}
.home-say-box{ padding: 30px 0;}

.main_visual2 .owl-carousel,.main_visual2 .owl-stage-outer,.main_visual2 .owl-stage,.main_visual2 .owl-carousel .owl-item{width: 100%;height: 100%; }
.main_visual2 .owl-carousel .item{width: 100%;height: 100%; overflow: hidden; margin: 0 auto;}
.main_visual2 .owl-carousel .item p{ line-height:26px; height: auto; overflow: hidden; font-size: 1rem; color: #000000;}
.main_visual2 .owl-carousel .item h3{ font-size: 1.1rem; line-height: 36px; margin-top: 30px;}
.main_visual2 .owl-carousel .item a{ font-size: 1.2rem; margin-top: 20px;}


.home-map{ padding: 30px 0;}
.home-map h2{ font-size: 1.6rem;line-height: 50px; }

.home-map-box{ margin-top: 20px !important;}


 .home-map {
                padding: 50px 0;
            }

                .home-map h2 {
                    font-size: 32px;
                    margin-bottom: 20px;
                }

            .home-map-marker {
                width: 18px;
                height: 24px;
            }

                .home-map-marker svg {
                    width: 18px;
                    height: 24px;
                }

            .home-map-marker-label {
                left: 22px;
                font-size: 12px;
            }

            .home-map-popup {
                min-width: 180px;
                max-width: 260px;
                padding: 14px 14px 12px;
                border-radius: 12px;
            }

            .home-map-popup-title {
                font-size: 16px;
                margin-bottom: 10px;
            }

            .home-map-popup-list li {
                font-size: 13px;
                margin-bottom: 4px;
            }

}


