@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:44px 48px;}
#mainview_wrap .slide_caption_inner *{pointer-events: auto}
#mainview_slider .slide_item{padding:0}
#mainview_slider .slick-prev,
#mainview_slider .slick-next {
	position: absolute;
	z-index: 5;
	border: none;
	width: 24px;
	height: 24px;
	top:50%;
	transform: translateY(-50%);
	border-radius:20%;
	background:rgba(58,58,58,0.4);
				color:#ffffff;
			cursor: pointer;
			transition:background 0.4s;
		}
		#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: 12px;
			margin:1em 0;
			padding:0;
			list-style:none;
		}
		#mainview_dots .slick-dots button {
			position:relative;
			display:flex;
			align-items:center;
			justify-content:center;
			width: 28px;
			height: 28px;
			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 #ededed;
				width:100%;
	height:10%;
	max-height:8px;
	border-radius:6px;
	background:#ffffff;
		}
		#mainview_dots .slick-dots li.slick-active button::after{
			background:#81d742;
		}
		
@media all and (min-width:768px){


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

	#mainview_wrap .slide_caption_inner{padding:56px 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: 40px;
		height: 40px;
	}
	#mainview_dots .slick-dots button::after{
		border-radius:8px;
	}

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

	#mainview_slider .slide_img_wrap{height:calc(100svh - 0px - var(--mainview-header-height, 0px) - (50px + 0rem));}

}

@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_slider .slick-prev:hover,
			#mainview_slider .slick-next:hover {
				background:rgba(58,58,58,0.7);
			}
			#mainview_dots .slick-dots li:hover button::after{
				background:#81d742;
			}
		
}

	/* ==================================================
	   メインビュー：SCROLLインジケーター（タイプ1）
	================================================== */
	#mainview_scroll{
		position:absolute;
		right:10px;
		bottom:20px;
		z-index:10;
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:14px;
		pointer-events:none;
		color:#ffffff;
	}
	#mainview_scroll .mainview_scroll_text{
		font-size:10px;
		font-weight:600;
		letter-spacing:.2em;
		writing-mode:vertical-rl;
		color:inherit;
		line-height:1;
	}
	#mainview_scroll .mainview_scroll_line{
		position:relative;
		display:block;
		width:1px;
		height:64px;
		overflow:hidden;
	}
	#mainview_scroll .mainview_scroll_line::before{
		content:"";
		position:absolute;
		inset:0;
		background:currentColor;
		opacity:.35;
	}
	#mainview_scroll .mainview_scroll_line::after{
		position:absolute;
		top:-35%;
		left:0;
		width:100%;
		height:35%;
		background:currentColor;
		content:"";
		animation:mainview_scroll_animation 2.5s ease-in-out infinite;
	}
	@keyframes mainview_scroll_animation{
		0%{
			transform:translateY(0);
		}
		100%{
			transform:translateY(280px);
		}
	}
	@media(min-width:768px){
		#mainview_scroll{
			right:24px;
			bottom:30px;
			gap:18px;
		}
		#mainview_scroll .mainview_scroll_line{
			height:90px;
		}
	}
	@media(prefers-reduced-motion:reduce){
		#mainview_scroll .mainview_scroll_line::after{
			animation:none;
			top:0;
		}
	}
/* ==================================================
   メインビュー：キャプションのフェードアウト
================================================== */
#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;
	}
}