@charset "utf-8";
.swiper-slide img {
		width: 100%;
		height: auto;
}
.ticket_slider_wrap {
		max-width: 660px;
		margin: 0 auto;
		padding: 40px 60px 0;
}
.swiper-parent {
		position: relative;
}
.swiper-parent .swiper-button-prev, .swiper-parent .swiper-button-next {
		position: absolute;
		color: rgba(255, 255, 255, 0);
		font-size: 1px;
		width: 32px;
		height: 32px;
		transition: opacity 0.4s;
}
@media (hover: hover) {
		.swiper-button-prev:hover, .swiper-button-next:hover {
				opacity: 0.6;
		}
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
		opacity: 0;
}
.swiper-parent .swiper-button-prev {
		left: 24px;
}
.swiper-parent .swiper-button-next {
		left: inherit;
		right: 24px;
}
.swiper-parent .swiper-button-prev::before, .swiper-parent .swiper-button-next::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 32px;
		height: 32px;
		background: rgba(49, 49, 49, .9);
		border-radius: 8px;
		pointer-events: none;
}
.swiper-parent .swiper-button-prev::after, .swiper-parent .swiper-button-next::after {
		content: '';
		display: block;
		position: absolute;
		width: 8px;
		height: 8px;
		pointer-events: none;
}
.swiper-parent .swiper-button-prev::after {
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
		transform: rotate(-45deg);
		top: 12px;
		left: 14px;
}
.swiper-parent .swiper-button-next::after {
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: rotate(45deg);
		top: 12px;
		left: 10px;
}
.swiper-parent .swiper-pagination {
		position: absolute;
		bottom: -50px;
}
@media(max-width: 767px) {
		.swiper-parent .swiper-pagination {
				bottom: -40px;
		}
}
.swiper-pagination-bullet {
		background: none;
		border: 1px solid #212B83;
		border: none;
		background: #8d9ed9;
		opacity: 1;
		width: 8px;
		height: 8px;
		box-sizing: border-box;
		position: relative;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.swiper-pagination-bullet::before {
		content: '';
		display: block;
		position: absolute;
		top: -4px;
		left: -4px;
		width: 16px;
		height: 16px;
		border: 1px solid #212B83;
		border-radius: 50%;
		box-sizing: border-box;
		transform: scale(0.4);
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		opacity: 0;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 14px
}
.swiper-pagination-bullet-active {
		background: #212B83;
		transform: scale(1.2)
}
.swiper-pagination-bullet-active::before {
		transform: scale(1);
		opacity: 1;
}
/* =================== */
.ticket_card {
		background: #fff;
		min-height: 523px;
		border-radius: 10px;
		padding: 24px;
		box-sizing: border-box;
}
.ticket_card a {
		color: #222;
		text-decoration: none;
}
.ticket_badge {
		display: flex;
		align-items: center;
		margin: 0 0 20px;
}
.badge {
		margin-right: 10px;
		height: 22px;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 1px solid #212B83;
		border-radius: 4px;
		padding: 0 10px;
		font-family: "Montserrat", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-size: 10px;
		font-weight: 400;
		color: #212B83;
}
.badge span {
		position: relative;
		display: inline-block;
		transform: translateY(-1px);
}
.badge.new {
		background: #212B83;
		color: #fff;
}
.badge.end {
		border: 1px solid #999;
		color: #999;
}
.ticket_card_thumb .ticket_card_thumb_img {
		border-radius: 10px;
		box-shadow: inset 0 0 15px rgba(0, 0, 0, .18);
		display: block;
		overflow: hidden;
		position: relative;
		width: 100%;
		height: 250px;
		margin: 0 0 25px;
}
.ticket_card_thumb_img img {
		width: 100%;
		height: 100%;
		object-fit: contain;
}
.ticket_card_caption {
		font-family: Montserrat, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		letter-spacing: .08em;
}
.ticket_card_hd {
		padding: 0 0 1em;
		margin: 0 0 1em;
		border-bottom: 1px solid #222;
		overflow: hidden;
		height: 50px;
}
.ticket_card_hd h5 {
		-webkit-box-orient: vertical;
		display: -webkit-box !important;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: normal;
		-webkit-line-clamp: 2;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.6;
}
.ticket_card_caption dt {
		font-size: 12px;
		font-weight: 700;
		margin: 0 0 8px;
}
.ticket_card_caption dd {
		font-size: 12px;
		line-height: 1.8;
}
@media(max-width: 767px) {
		.ticket_slider_wrap {
				padding-left: 20px;
				padding-right: 20px;
		}
		.swiper-parent .swiper-button-prev {
				left: 24px;
		}
		.swiper-parent .swiper-button-next {
				left: inherit;
				right: 24px;
		}
		.ticket_card {
				min-height: 460px;
				box-sizing: border-box;
				border-radius: 12px;
				padding: 25px 15px;
		}
		.ticket_card_thumb .ticket_card_thumb_img {
				height: 250px;
				margin: 0 0 20px;
		}
		.ticket_card_hd {
				margin: 0 0 15px;
		}
		.ticket_card_caption dt {
				margin: 0 0 5px;
		}
}
@media(max-width: 680px) {
		.ticket_slider_wrap {
				padding-left: 0;
				padding-right: 0;
		}
}