@charset "utf-8";
/* 全体のリセット */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    cursor:pointer;
}

html, body {
    height: 100%;
    font-family: Arial, sans-serif;
    background: #424242;
}
img {
    pointer-events: none;
    width: 100%;  /* スライド内で画像を全幅に調整 */
    height: 100%; /* 画像を全高さに調整（必要に応じて適用） */
    object-fit: cover;  /* アスペクト比を維持しつつ、スライドにフィット */
}
/* スライドショーコンテナ */
.slideshow-container {
    position: relative;
    width: 100%;
    height: 100vh; /* ビューポート全体の高さ */
    overflow: hidden;
}

/* スライドの共通スタイル */
.slides {
    display: flex;
    height: 100%;
    transition: transform 0.5s ease;
    /* スライド全体の幅は JavaScript で動的に設定します */
}
.slide img {
    max-height: 100vh; /* 画面の高さにフィットさせる */
    width: auto; /* アスペクト比を保ちながら、幅は自動調整 */
    object-fit: contain; /* 縦長画像全体が収まるように調整 */
}
.slide {
    width: 100vw; /* 各スライドの幅はビューポート幅100% */
    flex-shrink: 0; /* スライドの幅を縮めない */
    height: 100%; /* 高さは100% */
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 左右のボタン */
.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 10px 20px;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 24px;
    user-select: none;
    border-radius: 50%;
    z-index: 10;
}

.prev {
    left: 20px;
}

.next {
    right: 20px;
}

/* ホバー時のボタンのスタイル */
.prev:hover, .next:hover {
    background-color: rgba(0, 0, 0, 0.8);
}
/* スライドショー全体の要素に選択無効化を適用 */
.slideshow-container, 
.slides, 
.slide, 
img {
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10+ */
    user-select: none; /* 標準ブラウザ */
    -webkit-touch-callout: none; /* iOS Safariでの画像長押しメニューを無効化 */
    cursor: grab; /* カーソルがドラッグ可能な手のアイコンに */
}

/* スマホ・タブレット用のレスポンシブスタイル */
@media screen and (max-width: 768px) {
    .slide {
        height: 100vh; /* スマホやタブレットでは高さを80%に */
       
      
      /* width: 180vw;*/
    }
    .slide img {
    max-height: 100vh; /* 画面の高さにフィットさせる */
    width:  100%; /* アスペクト比を保ちながら、幅は自動調整 */
   /* object-fit: contain;*//* 縦長画像全体が収まるように調整 */
         vertical-align: middle;
}

    .prev, .next {
        font-size: 18px;
        padding: 8px 15px; /* ナビゲーションボタンを少し小さくする */
    }
}

@media screen and (max-width: 480px) {
    .slide {
        height: 100vh; /* さらに小さな画面では高さを60%に */
    }

    .prev, .next {
       font-size: 16px;
        padding: 5px 10px; /* ナビゲーションボタンを少し小さくする */
    }
}

