@charset "utf-8";

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

/*==================================================
スライダーのためのcss
===================================*/
.slider {
  position: relative;
  z-index: 1;
  /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
  width: 100%;
}

/*　背景画像設定　*/

.slider-item01 {
  background: url(../images/slider01.jpg);
}

.slider-item02 {
  background: url(../images/slider02.jpg);
}

.slider-item03 {
  background: url(../images/slider03.jpg);
}

.slider-item04 {
  background: url(../images/slider04.jpg);
}

.slider-item05 {
  background: url(../images/slider05.jpg);
}

.slider-item {
  width: 100%;
  /*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
  height: 100%;
  /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
  background-repeat: no-repeat;
  /*背景画像をリピートしない*/
  background-position: center;
  /*背景画像を中央に配置*/
  background-size: cover;
  /*画像を大きく表示*/
}

/*矢印の設定*/

.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  cursor: pointer;
  transform: translateY(-50%);
  z-index: 3;
  border: 2px solid #fff;
  border-radius: 3px;
  height: 60px;
  width: 60px;
  outline: none; /* クリック時のアウトラインを非表示 */
  background-color: rgba(0, 0, 0, 0.3); /* 半透明の背景 */
  transition: background-color 0.3s ease; /* ホバー時のアニメーション */
}

.slick-prev:hover,
.slick-next:hover {
  background-color: rgba(0, 0, 0, 0.6); /* ホバー時の背景色 */
}

.slick-prev {
  left: 15px;
}

.slick-next {
  right: 15px;
}

.arrow_l,.arrow_r {
  /*戻る矢印の位置と形状*/
  position: relative;
  top: 35%;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  height: 18px;
  width: 18px;
  outline: none;
}

.arrow_l {
  left: 40%;
  transform: rotate(-135deg);
  padding: 0;
}
.arrow_r {
  left: 25%;
  transform: rotate(45deg);
  padding-right: 0;
}

/*ドットナビゲーションの設定*/

.slick-dots {
  position: absolute; /* heroに対して絶対配置 */
  bottom: 20px; /* 下からの位置 */
  width: 100%; /* 全幅 */
  z-index: 3; /* 画像スライダーより手前 */
  text-align: center;
  margin: -40px 0 0 0;
  /* display: none; */ /* 既存の display: none; はコメントアウトまたは削除 */
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 12px;
  height: 12px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: #fff;
  border-radius: 50%;
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

.slick-dots li.slick-active button {
  opacity: 1;
  background: #4A6D40; /* アクティブなドットの色 */
}

@media(max-width: 767px) {
  .slick-prev,
  .slick-next {
    border: solid 1px #fff;
    border-radius: 0;
    height: 30px;
    width: 30px;
  }
  .arrow_l,.arrow_r {
    height: 9px;
    width: 9px;
  }
  .slick-dots {
    visibility: hidden;
  }
}

/* --- ここから追加 --- */

.hero {
    position: relative; /* 子要素の絶対配置の基準にする */
    width: 100%;
    height: 100vh; /* 画面いっぱいの高さ */
    overflow: hidden; /* はみ出すコンテンツを隠す */
}

#text-slider {
    position: absolute; /* hero に対して絶対配置 */
    top: 0;
    left: 0;
    width: 100%; /* hero と同じ幅 */
    height: 100%; /* hero と同じ高さ */
    z-index: 2; /* 画像スライダーより手前、矢印やドットより奥 */
    pointer-events: none; /* テキストの後ろの要素をクリックできるようにする */
}

#text-slider .slick-list,
#text-slider .slick-track {
    height: 100%; /* Slick内部要素の高さも100%に */
}

.text-slide-item {
    display: flex !important; /* flexboxで中央揃え */
    flex-direction: column;
    justify-content: center; /* 垂直中央揃え */
    align-items: center; /* 水平中央揃え */
    text-align: center;
    color: white;
    padding: 0 10%; /* 左右にパディング */
    box-sizing: border-box; /* 追加 */
    height: 100%; /* 親要素の高さに合わせる */
    pointer-events: auto; /* テキスト自体はクリック可能にする (もしリンクなどがある場合) */
}

.text-slide-item h1 {
    font-size: 3.5em; /* フォントサイズ調整 */
    margin-bottom: 20px;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.7); /* 読みやすくするための影 */
    /* animations.css の fadeIn を利用するため、ここでは animation は指定しない */
}

.text-slide-item p.topmessage {
    font-size: 1.5em; /* フォントサイズ調整 */
    line-height: 1.6;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); /* 読みやすくするための影 */
    /* animations.css の fadeIn を利用するため、ここでは animation は指定しない */
}

/* --- 追加ここまで --- */

/* show クラスは不要になる可能性が高いですが、既存のコードに合わせて残します */
.show {
  display: block;
  animation-name: fadeInAnime;
  animation-duration: 1s;
}

/*# sourceMappingURL=slide.css.map */
