@charset "UTF-8";
@import "../bootstrap.css";
@import "../swiper-bundle.min.css";
@import "./../bootstrap-icons.min.css";
@import "../fancybox.css";
@import "../reset.css";
.main-header {
  position: relative;
  z-index: 9;
  background-color: #fff;
}
@media (max-width: 992px) {
  .main-header {
    border-bottom: 6px solid #b2d234;
    outline: 4px solid #002a89;
  }
}
.main-header::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 80.833333%;
  height: 24px;
  background-color: #b2d234;
  clip-path: polygon(1% 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media (max-width: 992px) {
  .main-header::after {
    display: none;
  }
}
.main-header::before {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 33.4375%;
  height: 24px;
  background: linear-gradient(90deg, #063368 0%, #004588 100%);
  clip-path: polygon(0% 0%, 100% 0%, 97% 100%, 0% 100%);
}
@media (max-width: 992px) {
  .main-header::before {
    display: none;
  }
}

.navbar {
  width: 77.291666%;
  margin: auto;
  position: relative;
  padding: 48px 0 52px;
}
@media (max-width: 1260px) {
  .navbar {
    width: 83%;
  }
}

.navbar-brand {
  width: 20.31088vw;
}
.navbar-brand img {
  width: 100%;
  vertical-align: middle;
}

.navbar-nav {
  gap: 1.875vw;
}
@media (max-width: 1260px) {
  .navbar-nav {
    gap: 1rem;
  }
}
@media (max-width: 992px) {
  .navbar-nav {
    padding-top: 48px;
    width: 88%;
    gap: 24px;
  }
}
.navbar-nav li:hover a {
  color: #002a89;
}
.navbar-nav li > a {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #000;
  text-decoration: none;
  display: flex;
  align-items: center;
}
@media (max-width: 1260px) {
  .navbar-nav li > a {
    font-size: 18px;
  }
}
@media (max-width: 992px) {
  .navbar-nav li > a {
    font-size: 18px;
  }
  .navbar-nav li > a::before {
    content: "";
    width: 6px;
    height: 6px;
    transform: translateY(-3px);
    background-color: #b2d234;
    border-radius: 50%;
    margin-right: 16px;
  }
}
.navbar-nav .nav-item .dropdown-toggle {
  display: flex;
  align-items: center;
}
.navbar-nav .nav-item .dropdown-toggle::after {
  content: none;
}
.navbar-nav .nav-item > a {
  color: black;
  font-size: 1.139896vw;
  font-weight: 400;
  letter-spacing: 2.2px;
  padding: 0 0.84vw;
  margin-top: 0.5em;
}
.navbar-nav .nav-item > a:hover {
  color: #002a89;
}
.navbar-nav .nav-item .dropdown-menu {
  padding: 0;
  border-radius: 0;
  border: none;
  width: 208px;
}
.navbar-nav .nav-item .dropdown-menu > li {
  padding: 0.8em 1.2em;
}
.navbar-nav .nav-item .dropdown-menu > li:hover {
  background-color: #002a89;
}
.navbar-nav .nav-item .dropdown-menu > li:hover a {
  color: #fff;
}
.navbar-nav .nav-item .dropdown-menu > li > a {
  font-size: 1.042vw;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: block;
  text-decoration: none;
  color: black;
}

@media (width < 992px) {
  .main-header {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 999;
  }
  .navbar-brand {
    width: 254px;
    margin-left: 36px;
  }
  .navbar-brand img {
    width: 100%;
    vertical-align: middle;
  }
  .navbar {
    padding: 24px 0 25px;
    width: 93%;
  }
  .navbar-toggler {
    margin-right: 24px;
  }
  a.nav-link.top-navbar-item.dropdown-toggle.show {
    background-color: #002a89;
    color: #fff;
  }
}
@media (width < 400px) {
  .navbar-brand {
    width: 200px;
  }
}
.top-language-item {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.top-language-item span {
  font-size: 20px;
  font-weight: 400;
  color: #000;
  letter-spacing: 0.05em;
}
@media (max-width: 992px) {
  .top-language-item span {
    font-size: 18px;
  }
}

.top-language-pic img {
  width: 100%;
  vertical-align: middle;
}

.language-line {
  width: 2px;
  height: 20px;
  background-color: #8d8d8d;
  margin: 0 20px;
}
@media (max-width: 992px) {
  .language-line {
    height: 16px;
    margin: 0 10px;
  }
}

.main-footer {
  background-image: url(../../src/web/icon/footer-bg.png);
  background-size: 100% 100%;
  padding: 48px 0px;
}
@media (max-width: 992px) {
  .main-footer {
    padding: 48px 0;
  }
}

.footer-content {
  width: 77.3958333%;
  margin: auto;
}
@media (max-width: 1400px) {
  .footer-content {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
}
@media (max-width: 992px) {
  .footer-content {
    width: 83%;
  }
}

.footer-logo {
  width: 380px;
  margin-bottom: 79px;
}
@media (max-width: 992px) {
  .footer-logo {
    width: 250px;
    margin: auto;
    margin-bottom: 30px;
  }
}
.footer-logo img {
  width: 100%;
  vertical-align: middle;
}

@media (max-width: 992px) {
  .footer-nav {
    width: 100%;
  }
}
.footer-nav > p {
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  line-height: 1.3;
}
@media (max-width: 992px) {
  .footer-nav > p {
    font-size: 14px;
  }
}
.footer-nav > p a {
  color: #fff;
  text-decoration: none;
}

@media (max-width: 992px) {
  .footer-profile {
    width: 100%;
  }
}

@media (max-width: 992px) {
  .footer-profile-list {
    margin-bottom: 30px;
  }
}
.footer-profile-list li + li {
  margin-top: 24px;
}
@media (max-width: 992px) {
  .footer-profile-list li + li {
    margin-top: 16px;
  }
}
.footer-profile-list li a {
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 400;
  color: #fff;
  text-decoration: none;
  line-height: 1.3;
}

.footer-nav-list {
  justify-content: space-between;
}
@media (max-width: 992px) {
  .footer-nav-list {
    gap: 0px;
  }
}
@media (max-width: 414px) {
  .footer-nav-list > li {
    width: 33.333333%;
  }
}
.footer-nav-list > li > ul li a {
  display: flex;
  align-items: center;
}
@media (max-width: 992px) {
  .footer-nav-list > li > ul li a {
    font-size: 16px;
  }
}
.footer-nav-list > li > ul li a::before {
  content: "";
  display: block;
  width: 8px;
  height: 1px;
  background-color: #fff;
  margin-right: 8px;
}
@media (max-width: 992px) {
  .footer-nav-list > li > ul li a::before {
    display: none;
  }
}
.footer-nav-list li > a {
  font-weight: 500;
  margin-bottom: 35px;
}
@media (max-width: 992px) {
  .footer-nav-list li > a {
    margin-bottom: 16px;
  }
}
.footer-nav-list li a {
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  display: block;
  text-decoration: none;
  line-height: 1.3;
}
@media (max-width: 992px) {
  .footer-nav-list li a {
    font-size: 16px;
    text-align: center;
  }
}

@media (max-width: 992px) {
  .footer-nav-list-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.section-index-banner {
  /* arrow */
}
.section-index-banner .swiper {
  width: 100%;
  height: 100%;
}
.section-index-banner .swiper-slide {
  position: relative;
}
.section-index-banner .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.section-index-banner .swiper-button-prev {
  left: 0px;
}
.section-index-banner .swiper-button-next {
  right: 0px;
}
.section-index-banner .swiper-button-prev,
.section-index-banner .swiper-button-next {
  width: 43px;
}
.section-index-banner .swiper-button-prev img,
.section-index-banner .swiper-button-next img {
  width: 100%;
  vertical-align: middle;
}
@media (max-width: 992px) {
  .section-index-banner .swiper-button-prev,
  .section-index-banner .swiper-button-next {
    width: 30px;
  }
}
.section-index-banner .swiper-button-next:after,
.section-index-banner .swiper-button-prev:after {
  content: none;
}
.section-index-banner .swiper-pagination {
  font-size: 28px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.1em;
  font-style: italic;
  margin-bottom: 32px;
}
@media (max-width: 992px) {
  .section-index-banner .swiper-pagination {
    font-size: 20px;
    margin-bottom: 16px;
  }
}

.swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background-color: #fff;
  opacity: 1;
  border-radius: 8px;
  transition: 0.2s;
}
@media (max-width: 992px) {
  .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
  }
}

.swiper-pagination-bullet-active {
  background-color: #16469d;
  width: 64px;
}
@media (max-width: 992px) {
  .swiper-pagination-bullet-active {
    width: 30px;
  }
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 8px;
}

.indexSwiper-text {
  position: absolute;
  top: 43%;
  left: 15.833333%;
}
@media (max-width: 992px) {
  .indexSwiper-text {
    width: 83%;
    top: 22%;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
  }
}
.indexSwiper-text h2 {
  font-size: 2.5vw;
  font-weight: 500;
  color: #fff;
  margin-bottom: 42px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
@media (max-width: 992px) {
  .indexSwiper-text h2 {
    font-size: 24px;
    margin-bottom: 0.8rem;
  }
}
.indexSwiper-text h3 {
  font-size: 1.66666vw;
  font-weight: 600;
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
@media (max-width: 992px) {
  .indexSwiper-text h3 {
    font-size: 20px;
  }
}

.section-index-about {
  padding: 128px 0 108px;
  background-image: url(./../../src/web/index/bg.png);
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (max-width: 992px) {
  .section-index-about {
    padding: 60px 0;
  }
}

.index-about-main {
  width: 49.375%;
  margin: auto;
}
@media (max-width: 992px) {
  .index-about-main {
    width: 83%;
  }
}
.index-about-main .index-base-btn {
  margin-top: 96px;
}

.index-about-title {
  display: flex;
  flex-direction: column;
}
.index-about-title h2 {
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 992px) {
  .index-about-title h2 {
    font-size: 36px;
  }
}
.index-about-title h2::after {
  content: "";
  display: flex;
  width: 112px;
  height: 8px;
  background-color: #b2d234;
  margin: 2rem 0 3rem;
}
@media (max-width: 992px) {
  .index-about-title h2::after {
    width: 80px;
    height: 6px;
    margin: 1rem 0 1.5rem;
  }
}
.index-about-title h1 {
  font-size: 32px;
  font-weight: 500;
  color: #16469d;
  line-height: 1.2;
}
@media (max-width: 992px) {
  .index-about-title h1 {
    font-size: 23px;
  }
}

.index-about-content {
  padding: 80px 0;
}
@media (max-width: 992px) {
  .index-about-content {
    padding: 40px 0;
  }
}
.index-about-content p {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #6a6a6a;
  text-align: center;
}
@media (max-width: 992px) {
  .index-about-content p {
    font-size: 16px;
  }
}

.index-about-step {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 46px;
}
@media (max-width: 1400px) {
  .index-about-step {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}
@media (max-width: 992px) {
  .index-about-step {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

.index-about-step-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media (max-width: 992px) {
  .index-about-step-item {
    font-size: 18px;
  }
}
.index-about-step-item .index-about-step-pic {
  margin-bottom: 24px;
  border-radius: 50%;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.index-about-step-item .index-about-step-pic img {
  width: 100%;
  vertical-align: middle;
}
.index-about-step-item p {
  color: #000;
  margin-bottom: 20px;
}
.index-about-step-item span {
  color: #8d8d8d;
}

.index-base-btn {
  width: 255px;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  padding: 28px 0;
  border-radius: 60px;
  background: linear-gradient(90deg, #16469d 0%, #16469d 50%, #198a8f 100%);
  background-size: 200% auto;
  transition: background-position 0.5s ease;
}
@media (max-width: 992px) {
  .index-base-btn {
    padding: 18px 0;
    font-size: 16px;
  }
}
.index-base-btn:hover {
  background-position: right center;
}
.index-base-btn span {
  line-height: 1;
  margin-right: 16px;
}
.index-base-btn svg {
  width: 23px;
  transform: translateY(0px);
}
@media (max-width: 992px) {
  .index-base-btn svg {
    width: 18px;
    transform: translateY(-3px);
  }
}

.section-index-news {
  padding: 96px 0;
  background-color: #f0f2f3;
  position: relative;
}
@media (max-width: 992px) {
  .section-index-news {
    padding: 60px 0 160px;
  }
}
@media (max-width: 992px) {
  .section-index-news .index-base-btn {
    position: absolute;
    bottom: 60px;
    left: 0;
    right: 0;
    margin: auto;
  }
}
.section-index-news .index-news-main {
  width: 77.3958333%;
  margin: auto;
}
@media (max-width: 1400px) {
  .section-index-news .index-news-main {
    width: 90%;
  }
}
@media (max-width: 992px) {
  .section-index-news .index-news-main {
    width: 83%;
  }
}

.index-news-title {
  width: 0;
  flex-grow: 1;
  margin-bottom: 86px;
}
@media (max-width: 992px) {
  .index-news-title {
    width: 100%;
    margin-bottom: 30px;
  }
}
.index-news-title h2 {
  font-size: 32px;
  font-weight: 600;
  color: #16469d;
  line-height: 1.2;
  margin-bottom: 2rem;
}
@media (max-width: 992px) {
  .index-news-title h2 {
    font-size: 36px;
    margin-bottom: 1rem;
    font-size: 26px;
    text-align: center;
    width: 100%;
  }
}
.index-news-title h3 {
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #000;
  line-height: 1;
  margin-bottom: 88px;
}
@media (max-width: 992px) {
  .index-news-title h3 {
    font-size: 36px;
    margin-bottom: 0px;
    text-align: center;
    width: 100%;
  }
}

.index-news-list {
  width: 72.9364%;
}
@media (max-width: 1400px) {
  .index-news-list {
    width: 65%;
  }
}
@media (max-width: 992px) {
  .index-news-list {
    width: 100%;
  }
}
.index-news-list li {
  width: 100%;
  padding: 38px 3.5rem 30px 3rem;
  background-color: #fff;
  border-radius: 16px;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
  position: relative;
}
@media (max-width: 992px) {
  .index-news-list li {
    padding: 38px 1.5rem 30px 1rem;
  }
}
.index-news-list li + li {
  margin-top: 22px;
}
.index-news-list li a {
  text-decoration: none;
  letter-spacing: 0.05em;
}
.index-news-list li a svg {
  margin-left: auto;
  color: #000;
}
@media (max-width: 992px) {
  .index-news-list li a svg {
    position: absolute;
    top: 50px;
    right: 1rem;
  }
}
.index-news-list li a span {
  font-size: 22px;
  font-weight: 600;
  color: #6a6a6a;
  margin-right: 2rem;
}
@media (max-width: 992px) {
  .index-news-list li a span {
    font-size: 16px;
  }
}
.index-news-list li a .index-news-content {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 992px) {
  .index-news-list li a .index-news-content {
    width: 100%;
    -webkit-line-clamp: 2;
  }
}
.index-news-list li a .index-news-content p {
  font-weight: 500;
  color: #000;
  font-size: 22px;
  line-height: 1.3;
}
.index-news-list li a .index-news-content p:hover {
  color: #16469d;
}
@media (max-width: 992px) {
  .index-news-list li a .index-news-content p {
    font-size: 16px;
    line-height: 1.5;
  }
}

.section-index-service {
  padding: 96px 0;
  background-image: url(../../src/web/index/bg.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
.section-index-service .index-service-main {
  width: 66.145833%;
  margin: auto;
}
@media (max-width: 992px) {
  .section-index-service .index-service-main {
    width: 83%;
  }
}

.index-service-menu {
  padding-top: 48px;
}

.index-service-content {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
}
.index-service-content + .index-service-content {
  margin-top: 16px;
}
.index-service-content:nth-child(even) {
  flex-direction: row-reverse;
}
.index-service-content:first-child .index-service-item:first-child {
  background-image: url(../../src/web/index/service-01.png);
}
.index-service-content:first-child .index-service-item:nth-child(2) {
  background-image: url(../../src/web/index/service-02.png);
}
.index-service-content:last-child .index-service-item:first-child {
  background-image: url(../../src/web/index/service-04.png);
}
.index-service-content:last-child .index-service-item:nth-child(2) {
  background-image: url(../../src/web/index/service-03.png);
}

.index-service-title {
  display: flex;
  flex-direction: column;
}
.index-service-title h3 {
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #000;
  text-align: center;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 992px) {
  .index-service-title h3 {
    font-size: 36px;
  }
}
.index-service-title h3::after {
  content: "";
  display: flex;
  width: 112px;
  height: 8px;
  background-color: #b2d234;
  margin: 2rem 0 0rem;
}
@media (max-width: 992px) {
  .index-service-title h3::after {
    width: 80px;
    height: 6px;
    margin: 1rem 0 0rem;
  }
}

.index-service-item {
  background-image: url(../../src/web/index/service-01.png);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 46px 4.16666vw;
  border-radius: 40px;
  min-height: 352px;
  position: relative;
  text-decoration: none;
}
@media (max-width: 992px) {
  .index-service-item {
    padding: 36px 36px;
    min-height: 250px;
    border-radius: 24px;
  }
}
.index-service-item:first-child {
  width: 61.76239%;
}
@media (max-width: 992px) {
  .index-service-item:first-child {
    width: 100%;
    min-height: 230px;
  }
}
.index-service-item:nth-child(2) {
  width: 0%;
  flex-grow: 1;
}
@media (max-width: 992px) {
  .index-service-item:nth-child(2) {
    width: 100%;
  }
}
.index-service-item:hover .index-service-list {
  transform: translateY(0);
}
.index-service-item h3 {
  font-size: 32px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
  line-height: 1.2;
}
@media (max-width: 992px) {
  .index-service-item h3 {
    font-size: 26px;
    margin-bottom: 10px;
  }
}
.index-service-item span {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #fff;
}
@media (max-width: 992px) {
  .index-service-item span {
    font-size: 16px;
  }
}
.index-service-item .index-service-list {
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  line-height: 1.6;
  transform: translateY(-100%);
  transition: 0.3s;
}
@media (max-width: 992px) {
  .index-service-item .index-service-list {
    font-size: 16px;
    transform: translateY(0%);
  }
}
.index-service-item .index-service-list h4 {
  line-height: 1.4;
}
.index-service-item .index-service-list ul {
  padding-top: 0.3em;
  list-style-type: disc;
  padding-left: 1.5em;
}

.index-service-hidden {
  margin-top: 56px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
@media (max-width: 992px) {
  .index-service-hidden {
    margin-top: 30px;
  }
}

.index-service-arrow {
  background-image: url(../../src/web/index/dad.png);
}

.page-base-banner img {
  width: 100%;
  vertical-align: middle;
}

.page-base-bread {
  padding-top: 40px;
}
.page-base-bread .page-base-bread-main {
  width: 67.5%;
  margin: auto;
}
@media (max-width: 992px) {
  .page-base-bread .page-base-bread-main {
    width: 83%;
  }
}

.page-base-bread-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-left: auto;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 992px) {
  .page-base-bread-list {
    justify-content: center;
  }
}
.page-base-bread-list li {
  display: flex;
  align-items: center;
}
.page-base-bread-list li:last-child a {
  color: #000;
  font-weight: 500;
}
.page-base-bread-list li a {
  text-decoration: none;
  color: #6a6a6a;
  font-size: 20px;
  font-weight: 400;
}
@media (max-width: 992px) {
  .page-base-bread-list li a {
    font-size: 16px;
    line-height: 2;
  }
}

.page-bread-pic {
  width: 24px;
  margin-right: 8px;
}
@media (max-width: 992px) {
  .page-bread-pic {
    width: 18px;
  }
}
.page-bread-pic img {
  width: 100%;
  vertical-align: middle;
}

.page-bread-arrow {
  margin: 0 1rem;
  width: 10px;
}
@media (max-width: 992px) {
  .page-bread-arrow {
    width: 8px;
    margin: 0 0.5rem;
  }
}
.page-bread-arrow img {
  width: 100%;
  vertical-align: middle;
}

.page-base-wrap.map-bg {
  background-image: url(../../src/web/index/bg.png);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

.page-base-main {
  width: 68.032%;
  margin: auto;
  padding: 128px 0;
}
@media (max-width: 1400px) {
  .page-base-main {
    width: 75%;
  }
}
@media (max-width: 992px) {
  .page-base-main {
    width: 83%;
    padding: 60px 0;
  }
}

.page-base-title h1 {
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #000000;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 992px) {
  .page-base-title h1 {
    font-size: 30px;
  }
}
.page-base-title h1::after {
  content: "";
  width: 112px;
  height: 8px;
  background-color: #b2d234;
  margin: 2rem 0 3rem;
}
@media (max-width: 992px) {
  .page-base-title h1::after {
    margin: 1rem 0 1.5rem;
    width: 90px;
    height: 5px;
  }
}
.page-base-title h2 {
  font-size: 32px;
  font-weight: 500;
  color: #16469d;
  text-align: center;
  letter-spacing: 0.05em;
}
@media (max-width: 992px) {
  .page-base-title h2 {
    font-size: 18px;
  }
}
.page-base-title p {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #6a6a6a;
  text-align: center;
}
@media (max-width: 992px) {
  .page-base-title p {
    font-size: 16px;
  }
}

.page-about-content {
  padding-top: 80px;
}
@media (max-width: 992px) {
  .page-about-content {
    padding-top: 1.5rem;
  }
}
.page-about-content p {
  width: 73.1481%;
  margin: auto;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #4f4f4f;
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 992px) {
  .page-about-content p {
    width: 100%;
    font-size: 16px;
  }
}

.page-about-content .index-about-step {
  margin-top: 80px;
  width: 63.4259259%;
  gap: 40px;
}
@media (max-width: 992px) {
  .page-about-content .index-about-step {
    width: 100%;
    gap: 20px;
    margin-top: 30px;
  }
}

.page-about-album {
  padding-top: 128px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto auto;
  gap: 24px;
  margin: 0 auto;
}
@media (max-width: 992px) {
  .page-about-album {
    padding-top: 2rem;
    gap: 12px;
  }
}

.page-about-album-item:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

.page-about-album-item:nth-child(2) {
  grid-column: 2;
  grid-row: 1/3;
}

.page-about-album-item:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
}

.page-about-album-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.page-about-album-item:nth-child(1),
.page-about-album-item:nth-child(3) {
  aspect-ratio: 31/20;
}

.page-service-content {
  padding-top: 80px;
}
@media (max-width: 992px) {
  .page-service-content {
    padding-top: 2rem;
  }
}

.page-service-item {
  background: linear-gradient(90deg, #ffffff 0%, #fafafa 100%);
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  flex-wrap: wrap;
  text-decoration: none;
}
.page-service-item span {
  margin-top: auto;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #000;
  font-size: 14px;
}
@media (max-width: 992px) {
  .page-service-item span {
    font-size: 16px;
    margin-top: 30px;
  }
}
.page-service-item:hover .service-item-pic img {
  scale: 1.3;
}
.page-service-item:hover .service-item-btn {
  background-image: url(../../src/web/icon/service-btn-hover.png);
}
.page-service-item + .page-service-item {
  margin-top: 20px;
}

.service-item-pic {
  aspect-ratio: 1/1;
  min-width: 300px;
  overflow: hidden;
}
@media (max-width: 992px) {
  .service-item-pic {
    aspect-ratio: unset;
    width: 100%;
  }
}
@media (max-width: 992px) {
  .service-item-pic {
    aspect-ratio: 1/1;
    width: 100%;
  }
}
.service-item-pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: middle;
  scale: 1;
  transition: 0.2s;
}

.service-item-article {
  width: 0;
  flex-grow: 1;
  padding: 78px 5.729166vw 64px 2.916666vw;
  display: flex;
  flex-direction: column;
  position: relative;
}
@media (max-width: 992px) {
  .service-item-article {
    width: 100%;
    padding: 60px 0.8rem 80px 0.8rem;
  }
}
.service-item-article::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 74.88636%;
  height: 18px;
  background-color: #b2d234;
  clip-path: polygon(0 0, 100% 0%, 97% 100%, 0% 100%);
}
@media (max-width: 992px) {
  .service-item-article::after {
    width: 100%;
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
  }
}
.service-item-article h3 {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #000;
  margin-bottom: 14px;
}
@media (max-width: 992px) {
  .service-item-article h3 {
    font-size: 28px;
    margin-bottom: 0px;
    text-align: center;
  }
}
.service-item-article h4 {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #b2d234;
  margin-bottom: 44px;
}
@media (max-width: 1400px) {
  .service-item-article h4 {
    margin-bottom: 20px;
  }
}
@media (max-width: 992px) {
  .service-item-article h4 {
    font-size: 13px;
    margin-bottom: 16px;
    text-align: center;
  }
}
.service-item-article .service-item-txt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.service-item-article .service-item-txt p {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #6a6a6a;
  line-height: 1.8;
}
@media (max-width: 992px) {
  .service-item-article .service-item-txt p {
    font-size: 16px;
  }
}

.service-item-btn {
  width: 53px;
  height: 53px;
  display: block;
  position: absolute;
  right: 110px;
  bottom: 45px;
  padding: 0;
  border: none;
  background-color: transparent;
  background-image: url(../../src/web/icon/service-btn.png);
}
.service-item-btn img {
  width: 100%;
  height: 100%;
  vertical-align: middle;
}
@media (max-width: 1400px) {
  .service-item-btn {
    scale: 0.8;
    right: 16px;
    bottom: 16px;
  }
}

.page-service-inner-content .index-base-btn {
  margin-top: 112px;
}
@media (max-width: 992px) {
  .page-service-inner-content .index-base-btn {
    margin-top: 60px;
  }
}

.service-inner-top {
  gap: 4rem;
}
@media (max-width: 992px) {
  .service-inner-top {
    gap: 2rem;
  }
}

.service-inner-carousel {
  width: 48.765432%;
}
@media (max-width: 1260px) {
  .service-inner-carousel {
    width: 100%;
  }
}

.service-inner-profile {
  width: 0;
  flex-grow: 1;
}
@media (max-width: 1260px) {
  .service-inner-profile {
    width: 100%;
  }
}
.service-inner-profile h1 {
  font-size: 40px;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 24px;
}
@media (max-width: 992px) {
  .service-inner-profile h1 {
    font-size: 28px;
  }
}
.service-inner-profile h2 {
  font-size: 28px;
  font-weight: 600;
  color: #b2d234;
  letter-spacing: 0.05em;
}
@media (max-width: 992px) {
  .service-inner-profile h2 {
    font-size: 23px;
  }
}

.inner-profile-list {
  padding-top: 73px;
}
@media (max-width: 992px) {
  .inner-profile-list {
    padding-top: 36px;
  }
}
.inner-profile-list .inner-profile-title {
  height: 28px;
  width: 80%;
  background-image: url(../../src/web/service-inner/line.png);
  background-size: 100% 100%;
}
@media (max-width: 992px) {
  .inner-profile-list .inner-profile-title {
    height: 20px;
  }
}
.inner-profile-list .inner-profile-title h3 {
  text-indent: 0.8em;
  transform: translateY(-28%);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.inner-profile-list ul {
  padding-top: 28px;
  padding-left: 1.5em;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #6a6a6a;
  line-height: 1.8;
  list-style-type: disc;
}

.service-inner-aricle {
  margin-top: 72px;
  padding-top: 72px;
  border-top: 1px solid #8d8d8d;
}
@media (max-width: 992px) {
  .service-inner-aricle {
    margin-top: 24px;
    padding-top: 24px;
  }
}
.service-inner-aricle p {
  font-size: 20px;
  color: #6a6a6a;
  font-weight: 400;
  line-height: 1.8;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  display: none;
}

.page-news-content {
  padding-top: 96px;
}
@media (max-width: 992px) {
  .page-news-content {
    padding-top: 30px;
  }
}
.page-news-content .nav-pills {
  justify-content: center;
  gap: 24px;
}
@media (max-width: 992px) {
  .page-news-content .nav-pills {
    gap: 16px;
  }
}
.page-news-content .nav-pills .nav-link {
  padding: 16px 0;
  width: 131px;
  border-radius: 30px;
  background-color: #dae7a8;
  font-size: 20px;
  font-weight: 500;
  color: #000;
}
@media (max-width: 992px) {
  .page-news-content .nav-pills .nav-link {
    font-size: 16px;
  }
}
.page-news-content .nav-pills .nav-link.active {
  background-color: #b2d234;
}

.page-news-menu {
  padding-top: 80px;
}
@media (max-width: 992px) {
  .page-news-menu {
    padding-top: 30px;
  }
}

.page-news-picture {
  width: 49.9613899%;
  aspect-ratio: 647/400;
  overflow: hidden;
}
@media (max-width: 992px) {
  .page-news-picture {
    width: 100%;
  }
}
.page-news-picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: middle;
  scale: 1;
  transition: 0.3s;
}

.page-news-item {
  background: linear-gradient(90deg, #ffffff 0%, #fafafa 100%);
  box-shadow: rgba(0, 0, 0, 0.15) 1.95px 1.95px 2.6px;
}
.page-news-item + .page-news-item {
  margin-top: 16px;
}
.page-news-item:hover .page-news-picture img {
  scale: 1.1;
}

.page-news-contnet {
  width: 0;
  flex-grow: 1;
  padding: 80px 4.1666666vw;
}
@media (max-width: 992px) {
  .page-news-contnet {
    padding: 30px 1rem;
  }
}
.page-news-contnet p {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  color: #6a6a6a;
}
@media (max-width: 992px) {
  .page-news-contnet p {
    font-size: 16px;
  }
}
@media (max-width: 992px) {
  .page-news-contnet {
    width: 100%;
  }
}

.news-top-infotmation {
  display: flex;
  align-items: center;
  padding-bottom: 28px;
}
@media (max-width: 992px) {
  .news-top-infotmation {
    font-size: 16px;
    padding-bottom: 1rem;
  }
}
.news-top-infotmation h3 {
  font-size: 20px;
  color: #fff;
  padding: 0.575em 1.15em;
  letter-spacing: 0.05em;
  border-radius: 34px;
  background-color: #16469d;
  margin-right: 24px;
}
@media (max-width: 992px) {
  .news-top-infotmation h3 {
    font-size: 16px;
    margin-right: 12px;
  }
}
.news-top-infotmation span {
  font-size: 24px;
  font-weight: 600;
  color: #b2d234;
  font-family: "Hind Guntur", sans-serif;
  transform: translateY(0.2em);
}
@media (max-width: 992px) {
  .news-top-infotmation span {
    font-size: 18px;
  }
}

.page-news-article {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.page-navigation-content {
  padding-top: 80px;
}

.page-navigation-box {
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  display: flex;
  align-items: center;
}

.page-navigation-btn {
  border: none;
  background-color: transparent;
  padding: 0;
  display: block;
  width: 13px;
}
@media (max-width: 992px) {
  .page-navigation-btn {
    width: 9px;
  }
}
.page-navigation-btn.prev {
  margin-right: 3.75em;
}
@media (max-width: 992px) {
  .page-navigation-btn.prev {
    margin-right: 1em;
  }
}
.page-navigation-btn.next {
  margin-left: 3.75em;
}
@media (max-width: 992px) {
  .page-navigation-btn.next {
    margin-left: 1em;
  }
}
.page-navigation-btn img {
  width: 100%;
  vertical-align: middle;
}

.pagination .page-item {
  display: flex;
  width: 48px;
  height: 48px;
  border-radius: 50%;
}
@media (max-width: 992px) {
  .pagination .page-item {
    width: 36px;
    height: 36px;
  }
}
.pagination .page-item.active {
  background-color: #16469d;
}
.pagination .page-item.active > a {
  color: #fff;
}
.pagination .page-item a {
  margin: auto;
  font-size: 28px;
  text-decoration: none;
  font-weight: 600;
  color: #8d8d8d;
}
@media (max-width: 992px) {
  .pagination .page-item a {
    font-size: 16px;
  }
}

.news-inner-title {
  padding-bottom: 40px;
  border-bottom: 1px solid #8d8d8d;
}
@media (max-width: 992px) {
  .news-inner-title {
    padding-bottom: 20px;
  }
}
.news-inner-title h1 {
  font-size: 48px;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
@media (max-width: 992px) {
  .news-inner-title h1 {
    font-size: 24px;
  }
}
.news-inner-title .news-inner-share {
  margin-left: auto;
  gap: 12px;
}
@media (max-width: 992px) {
  .news-inner-title .news-inner-share {
    width: 100%;
    margin-top: 0.8rem;
    gap: 8px;
  }
}
.news-inner-title .news-inner-share span {
  font-size: 20px;
  font-weight: 600;
  color: #000;
}
@media (max-width: 992px) {
  .news-inner-title .news-inner-share span {
    font-size: 16px;
  }
}
.news-inner-title .news-inner-share .news-inner-item {
  width: 36px;
}
@media (max-width: 992px) {
  .news-inner-title .news-inner-share .news-inner-item {
    width: 28px;
  }
}
.news-inner-title .news-inner-share .news-inner-item img {
  width: 100%;
  vertical-align: middle;
}

.pages-news-article {
  padding-top: 4rem;
  line-height: 1.6;
}
@media (max-width: 992px) {
  .pages-news-article {
    padding-top: 1.5rem;
  }
}
.pages-news-article p {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #6a6a6a;
}
@media (max-width: 992px) {
  .pages-news-article p {
    font-size: 18px;
  }
}

.page-news-inner .index-base-btn {
  margin-top: 80px;
}

.contact-profile {
  width: 57.561728%;
}
@media (max-width: 992px) {
  .contact-profile {
    width: 100%;
    order: 1;
  }
}
.contact-profile h3 {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #6a6a6a;
  line-height: 1.8;
  margin-bottom: 64px;
}
@media (max-width: 992px) {
  .contact-profile h3 {
    margin-bottom: 20px;
    font-size: 16px;
  }
}

.contact-profile-form {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin: auto;
}
@media (max-width: 992px) {
  .contact-profile-form {
    gap: 16px;
  }
}
.contact-profile-form .form-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.contact-profile-form .form-row > .contact-form-item {
  width: 48.92761%;
}
@media (max-width: 992px) {
  .contact-profile-form .form-row > .contact-form-item {
    width: 100%;
  }
  .contact-profile-form .form-row > .contact-form-item + .contact-form-item {
    margin-top: 1rem;
  }
}

.contact-form-item {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.contact-form-item label {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #6a6a6a;
  margin-bottom: 1rem;
}
@media (max-width: 992px) {
  .contact-form-item label {
    font-size: 16px;
    margin-bottom: 0.8rem;
  }
}
.contact-form-item label span {
  color: #e60012;
}
.contact-form-item input {
  width: 100%;
  border: 1px solid #e0e5e7;
  border-radius: 6px;
  background-color: #fafafa;
  height: 52px;
}
@media (max-width: 992px) {
  .contact-form-item input {
    height: 46px;
  }
}
.contact-form-item textarea {
  border: 1px solid #e0e5e7;
  border-radius: 6px;
  background-color: #fafafa;
  height: 239px;
}

.contact-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.contact-map-information {
  width: 37.5%;
}
@media (max-width: 992px) {
  .contact-map-information {
    width: 100%;
  }
}

.contact-map-section {
  position: relative;
  padding-top: 70.164609%;
  margin-bottom: 41px;
}
@media (max-width: 992px) {
  .contact-map-section {
    margin-bottom: 26px;
  }
}
.contact-map-section iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.contact-map-profile {
  display: flex;
  flex-direction: column;
}
.contact-map-profile h3 {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #16469d;
  margin-bottom: 16px;
}
@media (max-width: 992px) {
  .contact-map-profile h3 {
    margin-bottom: 8px;
    text-align: center;
  }
}
.contact-map-profile span {
  font-size: 20px;
  font-weight: 400;
  color: #000;
  line-height: 1.6;
}
@media (max-width: 992px) {
  .contact-map-profile span {
    font-size: 16px;
    text-align: center;
  }
}
.contact-map-profile ul {
  padding-top: 4rem;
}
@media (max-width: 992px) {
  .contact-map-profile ul {
    padding-top: 1.5rem;
  }
}
.contact-map-profile ul li {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #6a6a6a;
}
@media (max-width: 992px) {
  .contact-map-profile ul li {
    font-size: 16px;
  }
}
.contact-map-profile ul li a {
  text-decoration: none;
  color: #6a6a6a;
}

.page-sitemap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 89px 0 128px;
  gap: 24px;
}
@media (max-width: 992px) {
  .page-sitemap {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    padding: 60px 0 80px;
  }
}
@media (max-width: 414px) {
  .page-sitemap {
    grid-template-columns: repeat(1, 1fr);
  }
}

.sitemap-item-title {
  text-decoration: none;
  width: 100%;
  height: 28px;
  background-image: url(../../src/web/sitemap/line.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
  color: #000;
  display: block;
}
.sitemap-item-title h2 {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-indent: 1em;
  transform: translateY(-0.5em);
}
@media (max-width: 414px) {
  .sitemap-item-title h2 {
    font-size: 18px;
  }
}

.sitemap-item-list {
  padding-top: 40px;
  list-style-type: disc;
  color: #6a6a6a;
  padding-left: 1.5em;
}
@media (max-width: 414px) {
  .sitemap-item-list {
    padding-top: 24px;
  }
}
.sitemap-item-list li a {
  text-decoration: none;
  font-size: 20px;
  font-weight: 400;
  color: #6a6a6a;
  line-height: 2;
}
@media (max-width: 414px) {
  .sitemap-item-list li a {
    font-size: 16px;
  }
}

body {
  font-family: "Noto Sans TC", "Hind Guntur", sans-serif;
}

/* hb.icon */
.menu-button-container {
  display: none;
  height: 100%;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: auto;
}

#menu-toggle {
  display: none;
}

.menu-button,
.menu-button::before,
.menu-button::after {
  display: block;
  background-color: #002a89;
  position: absolute;
  height: 3px;
  width: 23.73px;
  border-radius: 3px;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
}

.menu-button::before {
  content: "";
  margin-top: -8px;
}

.menu-button::after {
  content: "";
  margin-top: 8px;
}

#menu-toggle:checked + .menu-button-container .menu-button::before {
  margin-top: 0px;
  transform: rotate(45deg);
}

#menu-toggle:checked + .menu-button-container .menu-button {
  background: rgba(255, 255, 255, 0);
}

#menu-toggle:checked + .menu-button-container .menu-button::after {
  margin-top: 0px;
  transform: rotate(-45deg);
}

/* FOR漢堡圖示show/hide */
@media (max-width: 992px) {
  .menu-button-container {
    display: flex;
  }
}
/* bs漢堡相關設定 */
.navbar-toggler {
  border: none;
}

.navbar-toggler:focus {
  box-shadow: none;
}

.hb-btn-container {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: 3px solid #b2d234;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.scroll-top {
  position: fixed;
  top: 80vh;
  right: 3.33333vw;
  width: 60px;
  z-index: 999999;
}
@media (max-width: 992px) {
  .scroll-top {
    width: 50px;
    right: 2rem;
  }
}
@media (max-width: 500px) {
  .scroll-top {
    display: none;
  }
}
.scroll-top img {
  width: 100%;
  vertical-align: middle;
}/*# sourceMappingURL=all.css.map */