@charset "utf-8";
/*
Theme Name: Genova Template
File: top.css
Theme Author: Genova Design
Author URI: https://genova.co.jp/
Description: Description: This file is reserved for the top-page css
Version: 1.0
*/

/*--------------------------------------
	mainimage
--------------------------------------*/
#wrapper{
  padding-top: 0;
}
#mainimage img {
  width: 100%;
}

.main_contents {
  background: none;
  width: 100%;
  height: auto;
  min-height: inherit;
  position: relative;
}

#mainimage {
  z-index: 1;
  position: relative;
}
/*#mainimage .slick-dots{
  display: flex;
  justify-content: center;
}
#mainimage .slick-dots li{
  width: 40px;
}*/

/* Container của slick dots */
#mainimage .slick-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

/* Dot mặc định */
#mainimage .slick-dots li button {
  width: 3px;
  height: 3px;
  background-color: #E4E4E4;
  border: none;
  border-radius: 50%;
  padding: 0;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* Dot khi active */
#mainimage .slick-dots li.slick-active button {
  width: 150px;
  height: 3px;
  border-radius: 1.5px;
  background-color: #E4E4E4; /* nền dài 150px */
}

/* Thanh tiến trình bên trong dot active */
#mainimage .slick-dots li.slick-active button::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 40px; /* điểm bắt đầu */
  background-color: #00084D;
  animation: slideProgress 4s forwards;
  border-radius: 1.5px;
}

/* Animation: thanh tiến trình từ 40px đến 150px */
@keyframes slideProgress {
  from {
    width: 40px;
  }
  to {
    width: 150px;
  }
}



#mainimage .key-ttl {
  position: absolute;
  z-index: 1;
  width: 20%;
  max-width: 250px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#mainimage .slick-slide {
  height: 700px;
}
#mainimage .slick-slide img{
  height: 700px;
  width: 100%;
  object-fit: cover;  
}
@media screen and (max-width: 767px){
  #mainimage .key-ttl {
    width: 30%;
  }
}
/*--------------------------------------
loopslider
--------------------------------------*/
#loopslider {
  margin: 0 auto;
  width: 100%;
  height: 200px;
  text-align: left;
  position: relative;
  overflow: hidden;
}

#loopslider ul {
  float: left;
  overflow: hidden;
  display: inline-block;
}

#loopslider ul li {
  width: 1602px;
  height: 200px;
  float: left;
  display: inline;
  overflow: hidden;
}

#loopslider ul:after {
  content: " ";
  height: 0;
  clear: both;
  display: block;
  visibility: hidden;
}

#loopslider ul li img {
  max-width: none;
}
/*--------------------------------------
	news
--------------------------------------*/

.top-news .post-box__header h2 {
  font-size: 30px;
}

.top-news .post-box__content {
  max-height: 300px;
  overflow: auto;
}
