﻿@charset "UTF-8";
/* CSS Document */
/*画像、コントローラなど全体
---------------------------------------------*/
.hero-slider {
  position: relative;
  width: 100%;
  max-width: 1650px;
  aspect-ratio: 1650 / 528; /*横縦比　画像が1650×528*/
  margin: 0px auto 0 auto;/*ヘッダー分*/
  overflow: hidden; /* 横スライド時のはみ出しを隠す */
  background: var(--forest);
	/*padding: 0;*/
}
@media (max-width: 640px) {
  .hero-slider {
    aspect-ratio: 4 / 3;
  }
}
/*画像の部分（横スライド用トラック）
-----------------------------------------------------*/
.hero-slider__track {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 0.7s ease;
  will-change: transform;
}
.hero-slide {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  height: 100%;

}
/* Safari差を避けるため display: contents は使わない */
.hero-slide picture {
  display: block;
  width: 100%;
  height: 100%;
}
.hero-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* 念のため source も通常利用のまま */
.hero-slide source {
  display: none;
}
/*キャプション
-------------------------------------*/
.hero-slide__caption {
  position: absolute;
  left: 0px;
  right: 0;
  bottom: 10px;
  z-index: 2;
 /* padding: clamp(18px, 4vw, 44px) clamp(18px, 4vw, 48px);*/
		background: rgba(80, 80, 80, 0.55);
  /*background: linear-gradient(to top, rgba(15, 18, 14, 0.72), rgba(15, 18, 14, 0));*/
  color: #fff;
  box-sizing: border-box;

}
.hero-slide__caption p {
  margin: 0;
	padding-left: 10px;
  font-family: var(--font-display), sans-serif;
	font-size: 1rem;

  /*font-size: clamp(1.rem, 0.8rem + 1.1vw, 1.2rem);*/
  line-height: 1.4;
  letter-spacing: 0em;
}
/* コントローラー矢印
------------------------------------------*/
.hero-slider__controls {
  position: absolute;
  inset: 0;/*top: 0; right: 0; bottom: 0; left: 0;*/
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  pointer-events: none;
}
.hero-btn {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: rgba(15, 18, 14, 0.45);
  color: #fff;
  font-size: 1.1rem;
  cursor: pointer;
  transition: background 0.15s ease;
}
.hero-btn:hover,
.hero-btn:focus-visible {
  background: rgba(15, 18, 14, 0.72);
}
/*表示位置　停止ボタン
------------------------------------------*/
.hero-slider__bottom {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}
@media (max-width: 640px) {
.hero-slider__bottom {
	  display: none;
  }
}
.hero-dots {
  display: flex;
  gap: 8px;
}
.hero-dots button {
  width: 11px;
  height: 11px;
  padding: 0;
	 
 border: 2px solid #fff;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  cursor: pointer;
}
.hero-dots button[aria-current="true"] {
  background: #fff;
}
.hero-play {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-left: 6px;
  border: none;
  border-radius: 50%;
  background: rgba(15, 18, 14, 0.45);
  color: #fff;
  cursor: pointer;
}
.hero-play:hover,
.hero-play:focus-visible {
  background: rgba(15, 18, 14, 0.72);
}
