/* ------------------------------
 モーダル
------------------------------ */
body.modal-enable {
	position: fixed;
	overflow: scroll;
}
/* 非表示 */
.hidden {
	display: none;
	visibility: hidden;
}
.modal-content {
	position: relative !important;
	display: none;
	width: 720px !important;
	padding: 40px;
	background: #fff;
	overflow: visible;
}

.modal-close {
	display: block;
	position: fixed;
	top: 30px;
	right: 45px;
	width: 45px;
	height: 45px;
	line-height: 45px;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	z-index: 11000;
	background:url(../images/modal-close_white.svg) no-repeat 0 0 / cover;
}
.modal-close span {
	visibility: hidden;
}
.modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;/*for old Safari*/
	height: 100vh;
	background-color: rgba(26,26,26,0.9);
	z-index: 11000;
/*	overflow: scroll;*/
	overflow-y: scroll;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}
.modal-container {
	position: relative;
	text-align: left;
	max-width: 100%;
	left: 0;
	right: 0;
	margin: auto;
	height: 100%;
}
.modal-open:hover {
    cursor: pointer;
}
.modal-close:hover {
	cursor: pointer;
}
.pop-content {
	max-width: 1240px;
	padding: 60px;
	background: #fff;
    position: relative !important;
	overflow: visible;
	margin-bottom: 40px !important;
	visibility: visible !important;
	border-radius: 22px;
}
.pop-content .text {
	margin-top: 40px;
}
/* ----------------------
 スマホ用コード
---------------------- */
@media screen and (max-width: 900px) {
	.pop-content {
		width: 100% !important;
	}
}
@media screen and (max-width: 767px) {

	body.modal-enable {
		overflow: hidden;
	}

	.modal-content {
		width: 100% !important;
		padding: 20px;
		margin: 0 !important;
	}
	.modal-close {
		position: absolute;
		top: 20px;
		right: 20px;
		width: 30px;
		height: 30px;
		line-height: 30px;
		background:url(../images/modal-close_white.svg) no-repeat 0 0 / cover;
	}
	.pop-content {
		width: 100%;
		padding: 0;
		margin-bottom: 120px !important;
		border-radius: 0;
	}
	.pop-content .image figure,
	.pop-content .image img {
		border-radius: 0 !important;
	}
	.pop-content .text {
		margin-top: 0;
		padding: 0 5% 30px;
	}
}

/* ----------------------
 矢印
---------------------- */
.modal-nav {
	position: fixed;
	top: 400px;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	z-index: 11001;
	border: none;
	cursor: pointer;
	background: none;
}
.modal-nav.prev {
	left: calc(50vw - 540px);
}
.modal-nav.next {
	right: calc(50vw - 540px);
}
.modal-nav::before {
	content: '';
	display: block;
	width: 22px;
  	height: 22px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}
.modal-nav.prev::before {
	transform: translate(-50%, -50%) rotate(-135deg);
}
/* スマホは非表示にしてもOK */
@media screen and (max-width: 767px) {
	.modal-nav {
		top: 26%;
	}
	.modal-nav.prev {
		left: 0;
		height: 40px;
		width: 30px;
		background-color: #626466;
		border-radius: 0 6px 6px 0;
	}
	.modal-nav.next {
		right: 0;
		height: 40px;
		width: 30px;
		background-color: #626466;
		border-radius: 6px 0 0 6px;
	}
	.modal-nav::before {
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
}