@charset "UTF-8";	
.gallery_cont{
	margin-bottom: 200px;
}

.gallery_cont ul{
	display: flex;
	flex-wrap: wrap;
	gap:15px;
}

.gallery_cont ul li{
	width:calc((100% - 45px) / 4);
	border-radius: 5px;
	overflow: hidden;
	aspect-ratio:100 / 100;
	position: relative;
	
}

.gallery_cont ul li:after{
	content: "";
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	z-index: 2;
	background:rgba(70,150,210,0.5);
	mix-blend-mode: multiply;
	opacity: 0;
	transition: opacity 0.3s;
}

.gallery_cont ul li:hover:after{
	opacity: 1;
}

.gallery_cont ul li img{
	position: relative;
	z-index: 1;
}

.gallery_cont ul li a{
	width:100%;
	height: 100%;
	position: absolute;
	z-index: 3;
	top:0;
	left:0;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s;
}

.gallery_cont ul li a span{
	width:80px;
	height: 80px;
	border-radius: 50%;
	background:rgba(255,255,255,0.8);
	color:#4696d2;
	font-weight: 600;
	display: flex;
	font-size: 1.4rem;
	line-height: 1;
	justify-content:center;
	align-items: center;
}

.gallery_cont ul li:hover a{
	pointer-events: auto;
	opacity: 1;
}

.gallery_cont .headlink{
	margin-bottom:70px;
	display: flex;
	justify-content: space-between;
	gap:30px;
}

.gallery_cont .headlink a{
	width:100%;
	height: 250px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	padding:0 45px;
	position: relative;
	overflow: hidden;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color:#000;
	border-radius: 5px;
	transition: color 0.3s;
}

.gallery_cont .headlink a:hover{
	color:#fff;
}

.gallery_cont .headlink a::after{
	content: "";
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	background: linear-gradient(90deg,#fff 0%, #c7dff1 100%);
	border:none;
	border-radius: 5px;
	z-index: 1;
}

.gallery_cont .headlink a::before{
	content: "";
	width:100%;
	padding-top: 100%;
	clip-path: polygon(100% calc(100% - 50px), calc(100% - 50px) 100%, 100% 100%);
	position: absolute;
	bottom:-2px;
	right:-2px;
	z-index: 2;
	background:#4696d2;
	transform: scale(1);
	transform-origin: right bottom;
	transition: all 0.45s;
}

.gallery_cont .headlink a:hover::before{
	transform: scale(3);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.gallery_cont .headlink a .inbtn{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	text-align: left;
	line-height: 1.7em;
	z-index: 3;
}

.gallery_cont .headlink a span{
	font-size: 3rem;
	font-weight: 400;
	letter-spacing: 0;
	margin-bottom:0.25em;
}

.gallery_cont .headlink a:nth-child(1) span figure{
	width:40px;
	height: 30px;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	top:1px;
	margin-right: 10px;
	transition: all 0.3s;
	
}

.gallery_cont .headlink a:nth-child(2) span figure{
	width:30px;
	height: 30px;
	vertical-align: middle;
	margin-right: 10px;
	position: relative;
	display: inline-block;
	top:-2px;
	transition: all 0.3s;
}

.gallery_cont .headlink a span figure img:nth-child(2){
	position: absolute;
	top:0;
	left:0;
	transition: all 0.3s;
	opacity: 0;
}

.gallery_cont .headlink a:hover span figure img:nth-child(2){
	opacity: 1;
}

@media screen and (max-width:750px) {
.gallery_cont{
	margin-bottom: 100px;
}

.gallery_cont ul{
	display: flex;
	flex-wrap: wrap;
	gap:7px;
}

.gallery_cont ul li{
	width:calc((100% - 14px) / 3);
	border-radius: 3px;
	overflow: hidden;
	aspect-ratio:100 / 100;
	position: relative;
	pointer-events: none;
	
}

.gallery_cont ul li:after{
	content: "";
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	z-index: 2;
	background:rgba(70,150,210,0.5);
	mix-blend-mode: multiply;
	opacity: 0;
	transition: opacity 0.3s;
	display: none;
}

.gallery_cont ul li img{
	position: relative;
	z-index: 1;
}

.gallery_cont ul li a{
	width:100%;
	height: 100%;
	position: absolute;
	z-index: 3;
	top:0;
	left:0;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: auto;
	opacity: 1;
	transition: opacity 0.3s;
}

.gallery_cont ul li a span{
	width:50px;
	height: 50px;
	border-radius: 50%;
	background:rgba(255,255,255,0.8);
	color:#4696d2;
	font-weight: 600;
	display: flex;
	font-size: 1.2rem;
	line-height: 1;
	justify-content:center;
	align-items: center;
	display: none;
}
	
.gallery_cont .headlink{
	margin-top:20px;
	margin-bottom:50px;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	gap:20px;
}

.gallery_cont .headlink a{
	width:100%;
	height: 165px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	padding:0 25px;
	position: relative;
	overflow: hidden;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color:#000;
	border-radius: 5px;
	transition: color 0.3s;
}

.gallery_cont .headlink a:hover{
	color:#fff;
}

.gallery_cont .headlink a::after{
	content: "";
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	background: linear-gradient(90deg,#fff 0%, #c7dff1 100%);
	border:none;
	border-radius: 5px;
	z-index: 1;
}

.gallery_cont .headlink a::before{
	content: "";
	width:100%;
	padding-top: 100%;
	clip-path: polygon(100% calc(100% - 40px), calc(100% - 40px) 100%, 100% 100%);
	position: absolute;
	bottom:-2px;
	right:-2px;
	z-index: 2;
	background:#4696d2;
	transform: scale(1);
	transform-origin: right bottom;
	transition: all 0.45s;
}

.gallery_cont .headlink a:hover::before{
	transform: scale(3);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.gallery_cont .headlink a .inbtn{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	text-align: left;
	line-height: 1.7em;
	z-index: 3;
}

.gallery_cont .headlink a span{
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0;
	margin-bottom:0.25em;
}

.gallery_cont .headlink a:nth-child(1) span figure{
	width:40px;
	height: 30px;
	position: relative;
	display: inline-block;
	vertical-align: middle;
	top:1px;
	margin-right: 10px;
	transition: all 0.3s;
	
}

.gallery_cont .headlink a:nth-child(2) span figure{
	width:30px;
	height: 30px;
	vertical-align: middle;
	margin-right: 10px;
	position: relative;
	display: inline-block;
	top:-2px;
	transition: all 0.3s;
}

.gallery_cont .headlink a span figure img:nth-child(2){
	position: absolute;
	top:0;
	left:0;
	transition: all 0.3s;
	opacity: 0;
}

.gallery_cont .headlink a:hover span figure img:nth-child(2){
	opacity: 1;
}
}

@media (any-hover: hover) {
.gallery_cont ul li:hover:after{
	opacity: 1;
}
.gallery_cont ul li:hover a{
	pointer-events: auto;
	opacity: 1;
}
}