@charset "utf-8";
/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
医療法人美郷会　こころはす小針
	ver.2025.08
	こころはす小針のスライドショー　スタイルシート
────────────────────────────────────────
FileName:		/resources.kokorohasu/css/kokorohasu-index-slidshow.css
Editor:			TRUSTEC
Description:	スライドショー　スタイルシート。
────────────────────────────────────────
2025/10/27:		公開。
2025/08/01:		開発開始。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/





/* :::::  [SECTION: BACKGROUND-SLIDESHOW] ::::: */

/* Section
--------- --------- --------- ------- */
#index-slideshow {
	background-color: #ffffff;

	width: 100%;
/*	height: calc(100vh - 200px);*/
/*	height: 100vh;*/
	height: 96vh;
	overflow: hidden;
	position: relative;
/*	top: -80px;*/
}

/* Slideshow Setting
--------- --------- --------- ------- */
.index-slideshow-wrapper {
/*	background-color: rgba(255, 0, 0, 0.1);*/

	margin: 0 auto;
	width: 1100px;
}

.index-slideshow-wrapper .slide-list {
/*	background-color: rgba(255, 0, 0, 0.1);*/

	width: 100%;
	height: 100%;
}

.slide-list,
.slide-list li {
	list-style-type: none;
}

.slide-list .slide-item {
	bottom: 0;
	height: 100%;
	position: absolute;
	right: -10%;
	width: 110%;
}

/*
 * 3枚のイメージを各5秒（=5s）ずつフェード表示する（全体で15sとなる）
 */
.slide-item-img {
	animation-duration: 15s;
	animation-iteration-count: infinite;
	animation-name: slideAnimation;
	animation-timing-function: ease;
	display: block;

	width: 100%;
/*	height: calc(100vh - 200px);*/
	height: 100vh;

	object-fit: cover;
	opacity: 0;
}

/*
 * 2枚目のイメージから5sずつ遅延を設定する
 */
.slide-list .slide-item:nth-of-type(1) .slide-item-img {
/*	background-color: rgba(0, 255, 0, 0.1);*/
	animation-delay: 0s;
}
.slide-list .slide-item:nth-of-type(2) .slide-item-img {
/*	background-color: rgba(0, 0, 255, 0.1);*/
	animation-delay: 5s;
}
.slide-list .slide-item:nth-of-type(3) .slide-item-img {
/*	background-color: rgba(0, 0, 255, 0.1);*/
	animation-delay: 10s;
}

/*
 * 設定方法
 *		1.開始（0%）と終了（100%）の不透明度を0とし、非表示の状態にする
 *		2.全体（100%）/ イメージの枚数 にあたる基点の箇所の不透明度を1とし、表示状態にする
 *			イメージ3枚の場合: 100 / 3 = 33% のあたりが基点となる
 *		3.開始（0%）から基点の中間にあたる箇所の不透明度を1とし、表示の状態にする
 *			イメージ3枚の場合: 33% / 2 = 16% のあたりとなる
 *		4.基点に「3.」を加算した箇所の不透明度を0とし、表示状態にする
 *			イメージ3枚の場合: 33% + 16% = 49% のあたりとなる
 */
@keyframes slideAnimation {
	/*
	 * アニメーション開始時は非表示状態となる
	 */
	0% {
		opacity: 0;
	}
	/*
	 * 開始から基点の中間までの間に少しづつ表示状態になっていく
	 *	フェードが5sの場合: 5 * 0.16 = 0.8s
	 */
	16% {
		opacity: 1;
	}
	/*
	 * 基点の中間から基点までの間は表示状態になっている
	 *	フェードが5sの場合: 5 * 0.33 = 1.65s
	 */
	33% {
		opacity: 1;
	}
	/*
	 * 基点の中間までの間と同じ時間をかけて少しづつ非表示状態になっていく
	 *	フェードが5sの場合: 5 * 0.49 = 2.45s
	 */
	49% {
		opacity: 0;
	}
	/*
	 * アニメーション終了時は非表示状態になっている
	 * さらに左から右へ10%移動した状態となる
	 */
	100% {
		opacity: 0;
		transform: translateX(-10%);
	}
}





/**		*/
@media print {

	/* Index Slideshow
	--------- --------- --------- ------- */
	#index-slideshow {
		width: 100%;
		height: 40vh;
	}
	.slide-item-img {
		width: 100%;
		height: 40vh;
	}
}



/* Slideshow Title
--------- --------- --------- ------- */
.index-title {
	position: absolute;
	top: 40vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-shadow: 3px 0px 0.25em #fff, -3px 0 0.25em #fff, 0 3px 0.25em #fff, 0 -3px 0.25em #fff;
}

.index-title .corporateName {
	font-family: var(--title-font-family);
	font-size: clamp(24px, 3.6vw, 40px);
	line-height: 1em;
	letter-spacing: 2px;
	text-indent: 0.25em;
}

.index-title .officeName {
	font-family: var(--title-font-family);
	font-size: clamp(32px, 5vw, 56px);
	line-height: 1.5em;
	letter-spacing: 2px;
}

.index-title .serviceName {
	font-size: clamp(16px, 2vw, 24px);
	font-weight: bold;
	line-height: 1.5em;
}