@charset "UTF-8";
/* CSS Document */


.cmp-slide-banner {font-size: 0;}
.cmp-slide-banner .swiper-button-prev,
.cmp-slide-banner .swiper-button-next {width: 50px; height: 50px; background: rgba(var(--color-black-rgb), 0.2); margin-top: -25px; display: flex; justify-content: center; align-items: center; border-radius: 25px; transition: background 0.2s;}
.cmp-slide-banner .swiper-button-prev:after,
.cmp-slide-banner .swiper-button-next:after {display: none;}
.cmp-slide-banner .swiper-button-prev:before,
.cmp-slide-banner .swiper-button-next:before {content: ''; display: block; width: 10px; height: 18px; background: url("../images/banner-contorller.png") no-repeat left center / 200% 100%;}
.cmp-slide-banner .swiper-button-next:before {background-position-x: right;}
.cmp-slide-banner .swiper-button-prev:hover,
.cmp-slide-banner .swiper-button-next:hover {background: rgba(var(--color-black-rgb), 0.5)}
.cmp-slide-banner .swiper-button-prev {left: 30px;}
.cmp-slide-banner .swiper-button-next {right: 30px;}

.cmp-slide-banner .swiper-pagination {font-size: 0; line-height: 0; bottom: 20px;}
.cmp-slide-banner .swiper-pagination .swiper-pagination-bullet {width: 10px; height: 10px; background: var(--color-white); opacity: 0.5;}
.cmp-slide-banner .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {background: var(--color-primary); opacity: 1;}
.cmp-slide-banner .swiper-slide a {display: block;}
.cmp-slide-banner .swiper-slide img {width: 100%; min-height: 500px; object-fit: cover;}








.cmp-title {text-align: center; color: var(--color-primary);}
.cmp-title .head {display: flex; justify-content: center; align-items: center;}
.cmp-title .iconfont {font-size: 36px; position: relative; opacity: 0.6;}
.cmp-title .iconfont:after {position: absolute; left: 0; top: 0; z-index: 2; content: ''; display: block; width: 100%; height: 80%; background: linear-gradient(rgba(var(--color-white-rgb), 0), var(--color-white));}
.cmp-title .text {font-size: 36px; font-weight: bold; line-height: 1; padding: 0 20px;}
.cmp-title .mark {font-size: 16px; opacity: 0.1; line-height: 1;}




.cmp-schedule {display: grid; grid-gap: 20px;}
.cmp-schedule .group {display: grid; grid-gap: 10px;}
.cmp-schedule .group .date {padding: 13px 20px; font-size: 17px; font-weight: bold; color: var(--color-white); background: var(--color-primary); border-radius: 8px;}
.cmp-schedule .group .list {display: grid; grid-gap: 10px;}
.cmp-schedule .group .list .item {display: flex; align-items: center; min-height: 60px; box-sizing: border-box; padding: 15px 20px; font-size: 16px; color: var(--color-text); border: 1px solid var(--color-primary-light2); border-radius: 8px;}
.cmp-schedule .group .list .item .time {width: 25%;}
.cmp-schedule .group .list .item .content {flex: 1; min-width: 0;}
.cmp-schedule .group .list .item .place {width: 25%;}




.cmp-logos {display: flex; justify-content: center;}
.cmp-logos .list {display: flex; flex-wrap: wrap; padding: 1px 0 0 2px; }
.cmp-logos .item {width: 170px; height: auto; border: 1px solid var(--color-border-light); margin-left: -1px; margin-top: -1px; }
.cmp-logos .item a {display: flex; width: 100%; height: 70px; justify-content: center; align-items: center; background: var(--color-white);}
.cmp-logos .item img {width: calc(100% - 20px); height: calc(100% - 20px); object-fit: contain;}




.cmp-pages-banner {font-size: 0;}
.cmp-pages-banner img {width: 100%; min-height: 240px; object-fit: cover;}



.cmp-sub-nav {width: 1220px; display: flex; justify-content: center; align-items: center; margin: 0 auto;}
.cmp-sub-nav .item {flex: 1; min-width: 0; padding: 0 10px;}
.cmp-sub-nav .item a {position: relative; display: flex; height: 60px; justify-content: center; align-items: center; text-align: center; font-size: 17px; color: var(--color-text); font-weight: 500;}
.cmp-sub-nav .item a:after {content: ''; display: block; width: 100%; height: 2px; background: var(--color-border-light); position: absolute; left: 0; bottom: 0;}
.cmp-sub-nav .item a:hover {color: var(--color-text-dark);}
.cmp-sub-nav .item a:hover:after {background: var(--color-border);}
.cmp-sub-nav .item a.on {color: var(--color-primary);}
.cmp-sub-nav .item a.on:after {background: var(--color-primary);}




.cmp-tabs {display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.cmp-tabs .item {padding: 0 10px;}
.cmp-tabs .item a {min-width: 224px; height: 50px; box-sizing: border-box; padding: 0 20px; display: flex; justify-content: center; align-items: center; text-align: center; font-size: 17px; color: var(--color-text); font-weight: 500; border: 2px solid var(--color-border-light); background: var(--color-white); border-radius: 25px;}
.cmp-tabs .item a:hover {color: var(--color-text-dark); border-color: var(--color-border);}
.cmp-tabs .item a.on {border-color: var(--color-primary); color: var(--color-primary);}




.cmp-sub-title {display: flex;}
.cmp-sub-title span {display: flex; height: 28px; align-items: center; font-size: 20px; font-weight: 500; color: var(--color-primary); padding: 0 10px; background: linear-gradient(to right, var(--color-primary-light2), var(--color-white)); border-radius: 14px;}



.cmp-activity-title {display: flex; justify-content: center; align-items: center;}
.cmp-activity-title .text {text-align: center; font-size: 36px; font-weight: bold; color: var(--color-primary); max-width: calc(100% - 200px); padding: 0 20px;}
.cmp-activity-title .line {display: flex; align-items: center;}
.cmp-activity-title .line:before,
.cmp-activity-title .line:after {content: ''; display: block; width: 10px; height: 30px; transform: rotate(15deg); background: var(--color-primary);}
.cmp-activity-title .line:before {opacity: 0.3; margin-right: 8px;}
.cmp-activity-title .line:last-child:before {opacity: 1;}
.cmp-activity-title .line:last-child:after {opacity: 0.3;}



.cmp-content-title {display: flex; align-items: center;}
.cmp-content-title span {display: block;}
.cmp-content-title span.icon {width: 24px; height: 16px; margin-right: 12px; position: relative;}
.cmp-content-title span.icon:before,
.cmp-content-title span.icon:after {content: ''; display: block; width: 16px; height: 16px; border-radius: 50%; position: absolute; top: 50%; margin-top: -8px;}
.cmp-content-title span.icon:before {background: var(--color-primary); left: 0;}
.cmp-content-title span.icon:after {background: var(--color-primary-auxiliary1); right: 0; z-index: 2; opacity: 0.5;}
.cmp-content-title span.text {flex: 1; min-width: 0; font-size: 20px; line-height: 1; font-weight: 500; color: var(--color-primary);}



.cmp-icon-title {display: flex; align-items: center; color: var(--color-primary);}
.cmp-icon-title .icon {margin-right: 12px; font-size: 0; line-height: 0;}
.cmp-icon-title .icon img {width: 18px; height: 18px;}
.cmp-icon-title .icon .iconfont {line-height: 1; font-size: 18px;}
.cmp-icon-title .text {font-size: 18px; line-height: 1; font-weight: 500;}



.cmp-content {font-size: 15px; line-height: 2; color: var(--color-text);}
.cmp-content h1,
.cmp-content h2,
.cmp-content h3,
.cmp-content h4,
.cmp-content h5,
.cmp-content h6 {color: var(--color-text-dark);}
.cmp-content a {color: var(--color-primary); text-decoration: underline;}
.cmp-content .strong {font-weight: bold;}
.cmp-content .lighter {font-weight: lighter;}
.cmp-content .color-dark {color: var(--color-text-dark);}
.cmp-content .color-light {color: var(--color-text-light);}
.cmp-content .color-primary {color: var(--color-primary);}

.cmp-content-divider {height: 10px;}
.cmp-content-divider.small {height: 5px;}
.cmp-content-divider.large {height: 15px;}



.cmp-table table {width: 100%; border: 0; border-collapse: collapse; border-spacing: 0;}
.cmp-table table,
.cmp-table table td,
.cmp-table table th {text-align: left;}
.cmp-table table thead {line-height: 1.4; border: 1px solid var(--color-primary-light2);}
.cmp-table table tbody {line-height: 1.6; border: 1px solid var(--color-primary-light2);}
.cmp-table table thead tr th {background: var(--color-primary-light1); color: var(--color-text-dark); font-size: 15px; padding: 12px 15px; font-weight: 500; border-left: 1px solid var(--color-primary-light2); border-bottom: 1px solid var(--color-primary-light2);}
.cmp-table table tbody tr td {background: var(--color-white); color: var(--color-text); font-size: 14px; padding: 10px 15px; border-left: 1px solid var(--color-primary-light2); border-bottom: 1px solid var(--color-primary-light2);}
.cmp-table table .align-left {text-align: left;}
.cmp-table table .align-center {text-align: center;}
.cmp-table table .color-dark {color: var(--color-text-dark);}
.cmp-table table .color-light {color: var(--color-text-light);}
.cmp-table table .color-primary {color: var(--color-primary);}
.cmp-table table .strong {font-weight: 500;}
.cmp-table table a {color: var(--color-text-dark);}
.cmp-table table a:hover {color: var(--color-primary); text-decoration: underline;}



.cmp-button {display: flex; height: 40px; align-items: center; border: 1px solid var(--color-primary); font-weight: 500; background: var(--color-primary); color: var(--color-white); padding: 0 20px; border-radius: 8px; font-size: 15px;}
.cmp-button.plain {background: var(--color-white); color: var(--color-primary);}
.cmp-button.large {height: 50px; font-size: 17px; padding: 0 30px;}



.cmp-button-list {display: flex; align-items: center; flex-wrap: wrap; justify-content: center;}
.cmp-button-list .cmp-button {margin: 0 10px;}




.cmp-contact {display: grid; grid-gap: 40px;}
.cmp-contact-group {display: grid; grid-gap: 20px;}
.cmp-contact-content {display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 30px;}
.cmp-contact-content .item {display: flex; align-items: center; border-radius: 15px; border: 1px solid var(--color-border-light); min-height: 120px; box-sizing: border-box; padding: 20px;}
.cmp-contact-content .item .img {width: 50px; height: 50px; border: 1px solid var(--color-border-light); border-radius: 50%; margin-right: 20px; box-sizing: border-box; display: flex; justify-content: center; align-items: center;}
.cmp-contact-content .item .img .iconfont {font-size: 24px; color: var(--color-primary);}
.cmp-contact-content .item .con {flex: 1; min-width: 0;}
.cmp-contact-content .item .con .name {font-size: 19px; color: var(--color-text-dark); padding-bottom: 5px;}
.cmp-contact-content .item .con .text {font-size: 15px; color: var(--color-text); line-height: 1.6;}
.cmp-contact-content .item .con .text a {color: var(--color-text);}
.cmp-contact-content .item .con .text a:hover {color: var(--color-text-dark); text-decoration: underline;}







.cmp-page-bar {display: flex; justify-content: center; align-items: center;}
.cmp-page-bar a,
.cmp-page-bar b {display: flex; align-items: center; min-width: 30px; height: 30px; box-sizing: border-box; padding: 0 5px; justify-content: center; background: var(--color-primary-light1); border-radius: 5px; margin: 0 5px; font-size: 14px; color: var(--color-text-dark);}
.cmp-page-bar b {background: var(--color-primary); color: #fff;}
.cmp-page-bar a:hover {color: var(--color-primary);}
.cmp-page-bar a.prev,
.cmp-page-bar a.next {
    font-family: "iconfont" !important;
    font-size: 10px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding: 0;
}
.cmp-page-bar a.prev:before {content: "\e64b";}
.cmp-page-bar a.next:before {content: "\e64c";}
.cmp-page-bar .disabled {pointer-events: none; opacity: 0.5;}






.cmp-after-border {position: relative;}
.cmp-after-border:after {content: ''; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; box-sizing: border-box; border: 1px solid var(--color-border-light);}








