@charset "UTF-8";
/* このCSSは[php/set_03_style/style_05_mainview.php]により生成されます。 */

#mainview_wrap #mainview_slider{z-index:1}
#mainview_slider:not(.slick-initialized) > .slide_item:not(:first-child){
	display:none;
}
#mainview_slider:not(.slick-initialized) > .slide_item:first-child{
	display:block;
}
#mainview_wrap .slide_caption_wrap{
	z-index:2;
	top:0;
	right:0;
	bottom:0;
	left:0;
	pointer-events:none;
}
#mainview_wrap .slide_caption_inner{padding:36px 48px;}
#mainview_wrap .slide_caption_inner *{pointer-events: auto}
#mainview_slider .slide_item{padding:0}
#mainview_slider .slide_img_wrap{border-radius:px;}
#mainview_slider .slide_img{
	border-radius:px;
	filter:(%) contrast(%);
}
#mainview_slider .slick-prev,
#mainview_slider .slick-next {
	position: absolute;
	z-index: 5;
	border: none;
	width: 24px;
	height: 24px;
	top:50%;
	transform: translateY(-50%);
	color:#ffffff;
			cursor: pointer;
		
		}
		#mainview_slider .slick-prev {left:8px}
		#mainview_slider .slick-next {right:8px}
		#mainview_slider .svg_icon {font-size:10px}
		#mainview_dots{
	width:100%;
	position: absolute;
	left: 0;
	bottom: 8px;
	z-index:5;
	pointer-events:none;
}
#mainview_dots .slick-dots{
			display: flex !important;
			justify-content:center;
			gap: 8px;
			margin:1em 0;
			padding:0;
			list-style:none;
		}
		#mainview_dots .slick-dots button {
			position:relative;
			display:flex;
			align-items:center;
			justify-content:center;
			width: 20px;
			height: 20px;
			padding:0;
			border:none;
			background:none;
			font-size:0;
			cursor: pointer;
			pointer-events:auto
		}
		#mainview_dots .slick-dots button::after{
			content:"";
			display:block;
			transition:width .4s ease-out, height .4s ease-out, transform .4s ease-out, background-color .4s ease-out, border-color .4s ease-out;
			border:1px solid #fff;
				width:100%;	height:100%;	flex: 0 0 100%;
	border-radius:0px;
	background:#eee;
		}
		#mainview_dots .slick-dots li.slick-active button::after{
			background:#777;
		}
		
@media all and (min-width:768px){


}

@media all and (min-width:1024px){

	#mainview_wrap .slide_caption_inner{padding:28px 56px;}
	#mainview_slider .slick-prev,
	#mainview_slider .slick-next {
		width: 32px;
		height: 32px;
	}
	#mainview_slider .svg_icon {font-size:13px}
	#mainview_dots .slick-dots button {
		width: 12px;
		height: 12px;
	}
	#mainview_dots .slick-dots button::after{
		border-radius:0px;
	}

}

@media all and (min-width:1280px){


}

@media all and (min-width:1440px){

	#mainview_slider .slick-prev,
	#mainview_slider .slick-next {
		width:32px;
		height:32px;
	}
	#mainview_slider .svg_icon{font-size:13px}

}

@media (hover: hover) and (pointer: fine) {

	#mainview_dots .slick-dots li:hover button::after{
				background:#777;
			}
		
}

/* ==================================================
   メインビュー：キャプションのフェードアウト
================================================== */
#mainview_slider{
	--caption-out-x:0px;
	--caption-out-y:-15px;
}
#mainview_slider .slide_item.caption-leaving .slide_caption_inner{
	animation:mainview_caption_out .8s ease-in-out both;
}
@keyframes mainview_caption_out{
	0%{
		opacity:1;
		transform:translate(0,0);
	}
	100%{
		opacity:0;
		transform:translate(var(--caption-out-x),var(--caption-out-y));
	}
}
@media(prefers-reduced-motion:reduce){
	#mainview_slider .slide_item.caption-leaving .slide_caption_inner{
		animation:none;
	}
}