@charset "UTF-8";

/* スライド機能部分 */
.slider-wrapper > .slide-container{
	position: absolute;
	top   : 0;
	left  : 0;
	right : 0;
	bottom: 0;
	
	overflow: hidden;
}
/* ----------------------------------------------------------- */
/* 左右移動                                                    */
/* ----------------------------------------------------------- */
.slider-wrapper > .slide-container > .slide-prev,
.slider-wrapper > .slide-container > .slide-next{
	position: absolute;
	top   : 0;
	bottom: 0;
	
	width : 40px;
	
	cursor: pointer;
}
/* [SCREEN PCはhover可能とする] ※iOS11対応 */
@media screen and (min-width: 769px){
	.slider-wrapper > .slide-container > .slide-prev:hover,
	.slider-wrapper > .slide-container > .slide-next:hover{
		background-color: rgba( 0, 0, 0, 0.5 );
	}
}
.slide-container > .slide-prev{
	left: 0;
}
.slide-container > .slide-next{
	right: 0;
}
.slide-container > .slide-prev:before,
.slide-container > .slide-next:before{
	content: "";
	display: block;
	position: absolute;
	top: calc( 50% - 16px );
	
	width : 32px;
	height: 32px;
	
	background-color: #19af27;
	border-radius: 32px;
	
	box-shadow: 0 0 0 -1px black;
	transition: box-shadow 0.2s;
}
.slide-container > .slide-prev:before{
	left: 5px;
}
.slide-container > .slide-next:before{
	right: 5px;
}
/* [SCREEN PCはhover可能とする] ※iOS11対応 */
@media screen and (min-width: 769px){
	.slide-container > .slide-prev:hover:before,
	.slide-container > .slide-next:hover:before{
		box-shadow: 0 0 0 5px #19af27;
	}
}
.slide-container > .slide-prev:after,
.slide-container > .slide-next:after{
	content: "";
	display: block;
	position: absolute;
	top: calc( 50% - 7px );
	
	width : 9px;
	height: 9px;
	
	background-color: transparent;
	border-top: 4px solid white;
	border-right: 4px solid white;
}
.slide-container > .slide-prev:after{
	left: 17px;
	transform: rotate(-135deg);
}
.slide-container > .slide-next:after{
	right: 17px;
	transform: rotate(45deg);
}

/* スマホは、左右バーを少し上につける */
@media screen and (max-width: 768px){
	.slide-container > .slide-prev:before,
	.slide-container > .slide-next:before{
		top: calc( 33% - 16px );
	}
	.slide-container > .slide-prev:after,
	.slide-container > .slide-next:after{
		top: calc( 33% - 7px );
	}
}


/* ----------------------------------------------------------- */
/* インジケーター                                              */
/* ----------------------------------------------------------- */
.slider-wrapper > .slide-container > .slide-indicator{
	position: absolute;
	left  : 50%;
	bottom: 5px;
}
.slider-wrapper > .slide-container > .slide-indicator > span{
	position: relative;
	left: -50%;
	
	display: inline-block;
	
	width : 14px;
	height: 14px;
	
	margin : 5px;
	
	background-color: white;
	border: 2px solid #19af27;
	border-radius: 16px;
	
	box-shadow: 0 1px 2px black;
	
	cursor: pointer;
	transition: box-shadow 0.2s;
}
.slider-wrapper > .slide-container > .slide-indicator > span.slide-view{
	background-color: #19af27;
}
.slider-wrapper > .slide-container > .slide-indicator > span:hover{
	box-shadow: 0 0 0 5px #19af27;
}

/* ----------------------------------------------------------- */
/* スクロール部分                                              */
/* ----------------------------------------------------------- */
.slider-wrapper > .slide-container > .slider-scroller{
	position: relative;
	width : 100%;
	height: 100%;
}



/* ----------------------------------------------------------- */
/* スライドに沿って動くコンテンツ部分                          */
/* ----------------------------------------------------------- */
.slider-wrapper > .slide-container > .slider-scroller > div > .slider-image-content{
	position: absolute;
	top   : 0;
	left  : 0;
	right : auto;
	bottom: 0;
	width : 100%;
	
	overflow: hidden;
}
/* 最初に表示されないように、2枚目以降は隠しておく */
.slider-wrapper > .slide-container > .slider-scroller > div > .slider-image-content:not( :first-of-type ){
	left: 100%;
}
/* 上下左右の中央配置のための余白コンテナ */
.slider-wrapper .slider-image-content > .slider-spacer{
	position: absolute;
	top   : -960px; /* 1920pxの画像を置くため、例えばスマホの320pxでも配置できるように、1920 / 2 の960の幅を設けている */
	left  : -960px;
	right : -960px;
	bottom: -960px;
}


/* ----------------------------------------------------------- */
/* コンテンツ画像部分                                          */
/* ----------------------------------------------------------- */
.slider-wrapper .slider-spacer > span{
	position: absolute;
	top   : 0;
	left  : 0;
	right : 0;
	bottom: 0;
	
	margin: auto;
	
	width: 1920px; /* 100%は、親要素の-960pxによって、1920px+画面100%になるので1920px直接指定 */
	background: none 50% 50% / 1920px auto no-repeat transparent;
}

/* ----------------------------------------------------------- */
/* ●【ヘッダー】スマホ・タブレット縦                          */
/* ----------------------------------------------------------- */
@media screen and (max-width: 768px){
	.slider-wrapper .slider-spacer > span{
		background-size: 150vw auto;
	}
	.slider-wrapper .slider-spacer > span:first-of-type{
		top: calc( -400px + 84px + 47vw ) !important;/* CSS設定が設定されていても無視する */
	}
}

/* ----------------------------------------------------------- */
/* テキスト部分                                                */
/* ----------------------------------------------------------- */
.slider-wrapper .slider-spacer > div{
	position: absolute;
	top   : -150px; /* 下側の検索バーの高さ分 */
	left  : 0;
	right : 0;
	bottom: 0;
	
	margin: auto;
	
	width : calc( 100% - 1920px - 400px ); /* 100%は親要素の-960pxによって、1920pxになるので、それを引くと画面サイズになる。あとは、微調整で、400pxは、左右200pxの対応 */
	height: 90px; /* ２行分の文字の中央配置にするため */
	
	color: white;
	text-shadow: 1px 1px 3px black;
	font-size: 36px;
	font-weight: bold;
	text-align: center;
}
.slider-wrapper.no-search .slider-spacer > div{
	top   : 0;
}




/* トップページヘッダーコンテンツのみの1279px以下設定 */
@media print, screen and (max-width: 1279px){
	.slider-wrapper .slider-spacer > div{
		left : 100px;
		
		height: 180px;
	}
}
@media screen and (max-width: 768px){
	.slider-wrapper .slider-spacer > div{
		left : 0;
		
		/* ～A4.3 */
		width : 320px;
		height: 180px;
		font-size: 24px;
		
		/* A4.4～ */
		width : 90vw;
		height: 50vw;
		font-size: 4.5vw;
		
		top: 100px; /* 注意！タブレット縦用 */
	}
}
@media screen and (max-width: 480px){
	.slider-wrapper .slider-spacer > div{
		width: 80vw;
		top: -50px;
	}
}






/* ----------------------------------------------------------- */
/* スクロールアニメーション                                    */
/* ----------------------------------------------------------- */
.slider-wrapper > .slide-container > .slider-scroller{
	transform: translate3d( 0, 0, 0 );
}







/* ----------------------------------------------------------- */
/* 文字アニメーション                                          */
/* ----------------------------------------------------------- */
.slider-wrapper .slider-spacer > div{
	opacity: 0;
	transform: scale( 2 ) translate3d( 0, 0, 0 );
}
/* 表示 */
.slider-wrapper .slide-view > .slider-spacer > div{
	opacity: 1;
	transform: scale( 1 ) translate3d( 0, 0, 0 );
	/* 消えている状態から表示する場合は、スライドが終わるまで待つ */
	transition: opacity 1s 1.5s, transform 1s 1.5s;
}
/* 非表示 */
.slider-wrapper .slide-hide > .slider-spacer > div{
	opacity: 0;
	transform: scale( 1 ) translate3d( 0, 300px, 0 );
	/* 表示状態から消える場合は、即時 */
	transition: opacity 1s, transform 1s;
}




















