@charset 'utf-8';

/* ++++++++++++++++++++++++++++++++++++++++

	gallery.html

++++++++++++++++++++++++++++++++++++++++ */

/*gallery*/
#gallery>.inner {
	max-width: 1160px;
	width: 100%;
	margin: auto;
	padding: 70px 0;
	background: #fff5fc;
}
#gallery>.inner>.box {
	max-width: 1040px;
	width: 100%;
	margin: auto;
}
#gallery h2 {
	margin-bottom: 45px;
	text-align: center;
}
#gallery #photo_list  {
	flex-wrap: wrap;
	width: 100%;
}
#gallery #photo_list li {
	width: 31.7%;
	margin-right: 2.4%;
	margin-bottom: 2.4%;
}
#gallery #photo_list li img {
	width: 100%;
	display: block;
}
#gallery #photo_list li:nth-child(3n) {
	margin-right: 0;
}
#gallery a {
	position: relative;
	display: block;
}
#gallery a:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #f5bfd7;
	mix-blend-mode: multiply;
	opacity: 0;
	cursor: pointer;
	z-index: 1;
	transition: .5s;
}
#gallery a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0px;
	display: block;
	width: 100%;
	height: 100%;
	background: url("../img/hover_view.svg") bottom 0 right 20px / auto no-repeat;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
}
#gallery a:hover:after {
	opacity: 1;
}
#gallery a:hover:before {
	opacity: 1;
}

/*modal*/
#modal.open {
	visibility: visible;
	opacity: 1;
	transition: .5s;
}
#modal {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,.7);
	visibility: hidden;
	opacity: 0;
	z-index: 3000;
	text-align: center;
}
#modal>.inner {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
#modal .close_modal_btn {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0;
	cursor: pointer;
	margin-top: -40px;
}
#modal .modal_cont {
	display: none;
}
#modal .modal_cont.active {
	display: block;
}
#modal .modal_cont img {
	max-width: 90vw;
	max-height: 80vh;
	font-family: 'object-fit: contain; object-position: center;';
	object-fit: contain;
}

/* ++++++++++++++++++++++++++++++++++++++++

	SP

++++++++++++++++++++++++++++++++++++++++ */

@media (max-width: 767px) {
/*gallery*/
#gallery h2 {
	width: calc(420 / 750 * 100%);
	margin: 0 auto 25px;
}
#gallery>.inner>.box {
	max-width: inherit;
	width: 90%;
	margin: auto;
}
	
/*modal*/
#modal>.inner {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90%;
	max-height: inherit;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
#modal .modal_cont img {
	width: 100%;
	height: 100%;
	font-family: 'object-fit: contain; object-position: center;';
}
#modal .close_modal_btn {
	position: fixed;
	top: 0;
	right: 0;
	padding: 5% 5%;
	cursor: pointer;
	margin-top: 0;
}

}