/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
}

#colorbox:focus-visible {
	outline: none;
}

#cboxWrapper {
	max-width: none;
}

#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
}

#cboxMiddleLeft,
#cboxBottomLeft {
	clear: left;
}

#cboxContent {
	position: relative;
}

#cboxLoadedContent {
	overflow: auto;
}

#cboxTitle {
	margin: 0;
}

#cboxLoadingOverlay,
#cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
	cursor: pointer;
}

.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}

.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}

#colorbox,
#cboxContent,
#cboxLoadedContent {
	box-sizing: content-box;
}

/* ====================================
	カスタムスタイル
===================================== */
.cbox-active {
	overflow: hidden;
}

#cboxOverlay {
	background-color: #000;
}

#cboxContent {
	padding-top: 5rem;
}

#cboxLoadedContent {
	padding: 0;
	background-color: #fff;
	border-radius: 0;
}

/* タイトル */
#cboxTitle {
	width: calc(100% - 2em);
	height: 1.5em;
	padding: 0 .5em;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	overflow: hidden;
}

/* ページ番号 */
#cboxCurrent {
	display: none !important;
}

/* ローディング */
#cboxLoadingGraphic {
	display: flex;
	justify-content: center;
	align-items: center;
}

#cboxLoadingGraphic::before {
	content: '';
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-size: 8px;
	position: relative;
	text-indent: -9999em;
	border-top: 1.1em solid rgba(255, 255, 255, 0.2);
	border-right: 1.1em solid rgba(255, 255, 255, 0.2);
	border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
	border-left: 1.1em solid #ddd;
	transform: translateZ(0);
	animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/* ボタン */
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	width: auto;
	background: none;
}

/* ボタン：NEXT/PREV */
#cboxPrevious,
#cboxNext {
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}

#cboxPrevious {
	background: url(images/arrow-left.svg) no-repeat center center;
	background-size: contain;
	left: 0;
}

#cboxNext {
	background: url(images/arrow-right.svg) no-repeat center center;
	background-size: contain;
	right: 0;
}

/* ボタン：CLOSE */
#cboxClose {
	display: block;
	width: 40px;
	height: 40px;
	background: url(images/close.svg) no-repeat top center;
	background-size: contain;
	font-size: 0;
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 999;
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (width >=768px) {

	/* ボタン：CLOSE */
	#cboxClose {
		top: 20px;
		right: 20px;
	}
}