@charset "UTF-8";




.carousel_content {
	display: none;
}
.carousel_content.slick-initialized {
	display: block;
}





/* ==================================================

	carousel

================================================== */

.carousel {
	position: relative;
}

.carousel .slick-prev::before,
.carousel .slick-next::before {
	content: none;
}

@media screen and (max-width: 1023px) {
	.carousel .carousel_arrow {
		z-index: 2;
		position: absolute;
		bottom: -26px;
		width: 12px;
		height: 12px;
		border-top: 3px solid #0096d6;
		border-right: 3px solid #0096d6;
	}
	.carousel .carousel_arrow:hover {
		border-color: #ccc;
	}
	.carousel .carousel_arrow.prev {
		left: 16px;
		transform: rotate(-135deg);
	}
	.carousel .carousel_arrow.next {
		right: 16px;
		transform: rotate(45deg);
	}
	.carousel_navi {
		display: none;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.carousel .carousel_arrow {
		bottom: auto;
		top: 50%;
		transform: translateY(-50%);
		width: 18px;
		height: 18px;
		border-color: #999;
		opacity: .8;
	}
}



/* ----------------------------------------
	navi_left
---------------------------------------- */

@media screen and (min-width: 1024px) {
	.carousel.navi_left {
		display: flex;
		justify-content: space-between;
	}
	.navi_left .carousel_content {
		display: block;
		overflow: hidden;
		width: 800px;
		height: 300px;
		margin-bottom: 0;
		background: #f2f2f2;
	}
	.navi_left .carousel_navi {
		width: 195px;
	}
	.navi_left .carousel_navi .slick-list {
		overflow: visible;
	}
	.navi_left .carousel_navi .slick-track {
		display: flex;
		flex-wrap: wrap;
		align-content: flex-start;
		width: 195px !important;
		transform: translate3d(0,0,0) !important;
		height: 300px;
	}

	/* button */
	.navi_left .carousel_navi_btn {
		display: flex !important;
		align-items: center;
		position: relative;
		float: none;
		width: 195px !important;
		height: 72px;
		margin-bottom: 4px;
		padding: 0 7px;
		cursor: pointer;
	}
	.navi_left .carousel_navi_btn:last-of-type {
		margin-bottom: 0;
	}
	.navi_left .carousel_navi_btn_inner {
		width: 100%;
	}

	/* arrow */
	.navi_left .carousel_navi_btn.slick-current::before {
		content: "";
		position: absolute;
		left: -5px;
		top: 50%;
		transform: translateY(-50%);
		border-style: solid;
		border-width: 4px 5px 4px 0;
		border-color: transparent #0096d6 transparent transparent;
	}

	/* outline */
	.navi_left .carousel_navi_btn::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		box-shadow: 0 0 0 1px #ccc inset;
		transition: .2s;
	}
	.navi_left .carousel_navi_btn:hover::after,
	.navi_left .carousel_navi_btn.slick-current::after {
		box-shadow: 0 0 0 2px #0096d6 inset;
	}

	/* text */
	.navi_left .carousel_navi_title {
		color: #0096d6;
		font-weight: normal;
		font-size: 13px;
		line-height: 1.5;
	}
	.navi_left .carousel_navi_text {
		color: #5a5a5a;
		font-size: 9px;
		line-height: 1.5;
		letter-spacing: 1px;
	}
}



/* ----------------------------------------
	navi_bottom
---------------------------------------- */

@media screen and (min-width: 1024px) {
	.navi_bottom .carousel_content {
		display: block;
		overflow: hidden;
		height: 300px;
		background: #f2f2f2;
	}
	.navi_bottom .carousel_navi {
		display: none;
		margin-top: 5px;
		padding: 0 10px;
	}
	.navi_bottom .carousel_navi.slick-initialized {
		display: block;
	}
	.navi_bottom .carousel_navi .slick-list {
		overflow: visible;
	}
	.navi_bottom .carousel_navi .slick-track {
		display: flex;
		justify-content: flex-start;
		width: 100% !important;
		margin-right: 0;
		margin-left: 0;
		transform: translate3d(0,0,0) !important;
	}
	.navi_bottom .carousel_navi .slick-track::before,
	.navi_bottom .carousel_navi .slick-track::after {
		content: none;
	}

	/* button */
	.navi_bottom .carousel_navi_btn {
		position: relative;
		float: none;
		width: calc((100% - 24px) / 4) !important;
		margin-right: 8px;
		text-align: center;
		background: #fff;
		border: 1px solid #ccc;
		cursor: pointer;
		transition: .2s;
	}
	.navi_bottom .navi_btn3 .carousel_navi_btn {
		width: calc((100% - 16px) / 3) !important;
	}
	.navi_bottom .navi_btn2 .carousel_navi_btn {
		width: calc((100% - 8px) / 2) !important;
	}
	.navi_bottom .carousel_navi_btn:last-of-type {
		margin-right: 0;
	}

	/* arrow */
	.navi_bottom .carousel_navi_btn.slick-current::before {
		content: "";
		position: absolute;
		left: 50%;
		top: -6px;
		transform: translateX(-50%);
		border-style: solid;
		border-width: 0 6px 6px 6px;
		border-color: transparent transparent #0096d6 transparent;
	}

	/* text */
	.navi_bottom .carousel_navi_title {
		padding: 5px 0;
		color: #0096d6;
		font-weight: bold;
		font-size: 12px;
		line-height: 1.4;
		transition: .2s;
	}
	.navi_bottom .carousel_navi_text {
		color: #fff;
		font-size: 11px;
		font-weight: bold;
		background: #999;
		border-top: 1px dotted #fff;
		transition: .2s;
	}

	/* hover, current */
	.navi_bottom .carousel_navi_btn:hover,
	.navi_bottom .carousel_navi_btn.slick-current {
		border-color: #007dba;
	}
	.navi_bottom .carousel_navi_btn:hover .carousel_navi_title,
	.navi_bottom .slick-current .carousel_navi_title {
		color: #007dba;
	}
	.navi_bottom .carousel_navi_btn:hover .carousel_navi_text,
	.navi_bottom .slick-current .carousel_navi_text {
		background: #007dba;
	}
}
