
/* 
====== magnific-popup.css override ======
*/

.mfp-bg {
	z-index: 2147483646; /* max - 1 */
}
.mfp-wrap {
	z-index: 2147483647; /* max */
}

/* iframeの時、非固定の閉じるボタン（data-mfp-close-btn="fixed"を指定しないボタン）を表示するため */
.mfp-iframe-scaler {
	overflow: visible;
}

/* 
====== Styles for modal background fixed ======
*/
html.mfp-bg-fix {
	height:100vh;
}
body.mfp-bg-fix {
	position: fixed;
	width: 100%;
	height:100vh;
}
body.mfp-bg-fix .mfp-wrap {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

/* 
====== Styles for popup close button ======
*/
button.mfp-close {
	width: 24px;
	height: 24px;
	color: transparent;
	opacity: 1;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: all 0.3s ease;
}
button.mfp-close::before,
button.mfp-close::after {
	display: block;
	content: "";
	width: 24px;
	height: 1px;
	background-color: #ffffff;
	opacity: 1;
}
button.mfp-close::before,
button.mfp-close::after {
	position: absolute;
	top: 50%;
	left: 0;
}
button.mfp-close::before {
	transform: rotate(-90deg);
}
.mfp-ready button.mfp-close {
	transform: rotate(225deg);
}
button.mfp-close:hover {
	transform: rotate(45deg);
}
button.mfp-close:focus {
	opacity: 1;
}

/*コンテンツ外側のボタン*/
.mfp-wrap > button.mfp-close {
	position: fixed;
	top: 0;
	right: 5%;
	margin-top: 6%;
}
/*コンテンツ内側のボタン*/
.mfp-close-btn-in button.mfp-close {
	top: -30px;
	right: 0px;
	color: transparent;
}
/*imageスタイル*/
.mfp-image-holder button.mfp-close {
	right: 0;
	width: 24px;
	height: 24px;
	padding: 0;
}
.mfp-image-holder button.mfp-close::before,
.mfp-image-holder button.mfp-close::after {
	background-color: #ffffff;
}
.mfp-close-btn-in .mfp-image-holder button.mfp-close {
	top: 10px;
}
/*iframeスタイル*/
.mfp-iframe-holder button.mfp-close {
	right: 0;
	width: 24px;
	height: 24px;
	padding: 0;
}
.mfp-iframe-holder button.mfp-close::before,
.mfp-iframe-holder button.mfp-close::after {
	background-color: #ffffff;
}
.mfp-close-btn-in .mfp-iframe-holder button.mfp-close {
	top: -40px;
}
/*iframeフルサイズの場合*/
.mfp-iframe-full {
	width: 95%;
    height: 90vh;
    padding-top: 0;
    margin: 5% auto 0;
}
@media screen and (min-width: 641px) {
	.mfp-iframe-full {
		height: calc(100vh - 30px);
		margin-top: 30px;
	}
}
.mfp-iframe-full iframe {
	height: calc(100% - 90px);
	background-color: #fff;
}
/*inlineスタイル*/
.mfp-inline-holder + button.mfp-close::before,
.mfp-inline-holder + button.mfp-close::after,
.mfp-inline-holder button.mfp-close::before,
.mfp-inline-holder button.mfp-close::after {
	background-color: #ffffff;
}
/*ajaxスタイル*/
.mfp-ajax-holder + button.mfp-close::before,
.mfp-ajax-holder + button.mfp-close::after,
.mfp-ajax-holder button.mfp-close::before,
.mfp-ajax-holder button.mfp-close::after {
	background-color: #ffffff;
}

/*PC,TBの場合*/
@media screen and (min-width:641px) {
	.mfp-wrap > button.mfp-close {
		right: 40px;
		margin-top: 20px;
		width: 40px;
		height: 40px;
	}
	.mfp-wrap > button.mfp-close {
		width: 40px;
		height: 40px;
	}
	.mfp-wrap > button.mfp-close::before,
	.mfp-wrap > button.mfp-close::after {
		background-color: #ffffff;
		width: 40px;
	}
}

/* 
====== Styles for popup window ======
*/
.mfp-popup-block {
	position: relative;
	width: 95%;
	margin: 50px auto;
	padding: 15px 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: white;
	text-align: left;
}
.mfp-close-btn-in .mfp-popup-block {
	margin-top: 40px;
	margin-bottom: 40px;
}
@media screen and (min-width:641px) {
	.mfp-popup-block {
		width: calc(100% - 150px);
		margin: 40px auto;
	}
}
.mfp-popup-block img {
	max-width: 100%;
}
.mfp-popup-block.mfp-no-bgcolor {
	background-color: transparent;
	padding: 0;
}

/* 
====== Styles for dialog window ======
*/
.mfp-dialog-block {
	position: relative;
	max-width: 400px;
	margin: 40px auto;
	padding: 20px 30px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: white;
	text-align: left;
}
.mfp-dialog-block img {
	max-width: 100%;
}
