@charset "UTF-8";
/* メインカルーセルコンテナ */
        .carousel-container {
            height: 100vh;
            overflow: hidden;
            position: relative;
			background: #004098;
        }

        /* スクロールトラック */
        .carousel-track {
            display: flex;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            transition: transform 3s linear;
        }

        /* 各画像スロット */
        .carousel-slide {
            min-width: 33.333vw;
            height: 100%;
            position: relative;
            overflow: hidden;
        }

        /* プレースホルダー画像のスタイル */
        .slide-content {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            font-weight: bold;
            color: white;
            position: relative;
        }

        /* 各スライドの背景画像 */
        .slide1, .slide2, .slide3, .slide4, .slide5, .slide6, .slide7, .slide8, .slide9, .slide10, .slide11, .slide12, .slide13,.slide-content { 
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
        }

        /* 下部のテキストスクロール */
        .bottom-text-container {
            position: fixed;
            bottom: 50px;
            left: 0;
            width: 100%;
            height: 80px;
            overflow: hidden;
            z-index: 10;
        }

        .bottom-text-track {
            display: flex;
            white-space: nowrap;
            position: absolute;
        }

        .bottom-text-track.text-track1 {
            animation: slideRight 30s linear infinite;
        }

        .bottom-text-track.text-track2 {
            animation: slideRight 30s linear infinite;
            animation-delay: -15s;
        }

        .bottom-text {
            font-size: 48px;
            font-weight: bold;
            color: white;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
            margin-right: 100px;
            display: inline-block;
        }

        @keyframes slideRight {
            0% {
                transform: translateX(-100%);
            }
            100% {
                transform: translateX(100vw);
            }
        }

        /* レスポンシブ対応 */
        @media (max-width: 768px) {
            .bottom-text {
                font-size: 32px;
            }
        }


@media (max-width: 480px) {
    .carousel-container {
        height: 100vh;
    }

    .carousel-slide {
        min-width: 50vw; /* 2枚表示にする */
    }
}

@media (max-width: 480px) {
  .flex.indexbox.sepa > div {
    justify-content: center;
    margin-top: -120px; /* 負のマージンで強制的に上に詰める */
  }
	.flex.indexbox.sepa > div:nth-child(n+5) {
		margin-top: -300px;
	}
	.item-group{
		font-size: 80%;
	}
	.underlink.index.second{
		margin-top: -100px;
	}
	h4.index{
		margin-top: -80px;
	}
	.underlink.index.second{
		margin: 10px auto;
		width: 60%;
	}
.indexbox.third{flex-wrap: wrap;}
.indexbox.third .hover-card {
		width: 70%!important;
	}
}

.indexbox.third{
	margin-bottom: 200px;
}

@media (min-width: 769px) {
	h2.index.left-in{
		margin-top: 240px!important;
	}
    .carousel-container::before,
    .carousel-container::after {
        content: "";
        position: absolute;
        top: 0;
        width: 25vw;       /* 両端の幅 */
        height: 100%;
        z-index: 2;
        pointer-events: none;
		 mix-blend-mode: multiply;
    }

    .carousel-container::before {
        left: 0;
        background: linear-gradient(
            to right,
            rgba(89, 87, 87, 0.8),   /* 80%の濃さ */
            rgba(89, 87, 87, 0.0)    /* だんだん薄く */
        );
    }

    .carousel-container::after {
        right: 0;
        background: linear-gradient(
            to left,
            rgba(89, 87, 87, 0.8),
            rgba(89, 87, 87, 0.0)
        );
    }
}
h3.index img{
	width: calc(90% - 4em);
	height: auto;
	}

.slide-video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 背景画像みたいに表示 */
  display: block;
}
.carousel-slide {
  min-width: 33.333vw;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.carousel-slide.wide-slide {
  min-width: 66.666vw; /* 2倍幅 */
}
.underlink.index.icda{
	width: 30%;
}
@media (max-width: 480px) {
	.item-group{
		font-size: 60%!important;
	}
	h2.index.left-in{
		margin-top: 0px!important;
	}
	h2.index.left-in.second{
		margin-top: 0px!important;
	}
	h4.index.left-in{
		margin-top: 100px!important;
	}
	.underlink.index.icda{
		width: 50%;
		margin: -50px auto 50px;
	}
	h2.index.left-in.second{
		width: 100%;
		margin-top: 100px!important;
	}
}
@media (max-width: 768px) {
  .carousel-slide {
    min-width: 66.666vw;
  }
}
.hover-card.secondcard{
	overflow: hidden;
}
.item-group a > div{
	font-size: 1em!important;
}
.flex.indexbox.topi{
	margin-bottom: 100px
}
.saisinnjyouhou{
	margin: 40px auto 150px;
	width: 90%;
	max-width: 1000px;
}

@media (min-width: 767px) and (max-width: 1024px) {
.underlink.index.icda{
	width: 50%!important;
}
}