@charset "utf-8";

/* CSS Document */
.top_head {
	background: url(../images/portfolio/bg.jpg) no-repeat 50% 68%;
	background-size: cover;
	height: 50vh;
}
.visuallyhidden {
	opacity: 0 !important;
	transition: all 1s linear;
}
.visuallyshow {
	opacity: 1 !important;
	transition: all 1s linear;
}

.opacity{
	display:none !important;
}
.icon2 {
	padding-top: 40px;
	text-align: center;
}
.icon2 li {
	position: relative;
	display: inline-block;
	margin: 10px 50px;
	cursor: pointer;
}
.icon2 span {
	display: block;
}
.icon2 .en {
	font-size: 1.1em;
	color: #999;
	letter-spacing: 0.05em;
	min-width: 100px;
}
.icon2 .tw {
	position: absolute;
	left: 0;
	right: 0;
	top: -2px;
	opacity: 0;
	color: rgba(131, 140, 116,1)
}
.icon2 .tw img {
	width: 20px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}
.icon2 li:hover .tw, .icon2 .on .tw {
	opacity: 1;
}
.icon2 li:hover .en, .icon2 .on .en {
	opacity: 0;
}

.product-content {
	max-width: 1800px;
	margin: 0 auto;
	padding: 40px 0 100px;
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	min-height: 50vh;
}

.product-case {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 33.333333%;
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
	position: relative;
	transition: all 1s linear;
}

.product-casephoto {
	margin: 1%;
}

.product-casephoto img {
	width: 100%;
}
.product-casename{
	display: flex;
    position: absolute;
	height: 98%;
	bottom: 0;
    width: 98%;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    opacity: 0;
	margin: 1%;
	text-align: center;
	align-items: center ;
	flex-direction: column;
    justify-content: center;
}


.product-case:hover .product-casename{
	opacity: 1;
	animation: fadeIn 0.3s linear 0s 1 forwards;	
}

.product-casename p{
	overflow: hidden;
}
.product-casename p span{
	color: #fff;
	transition: all 1s cubic-bezier(0.37, 0.31, 0.2, 0.85);
	transform: translateY(100%);
	display: block;
}
.product-casename .title{
	text-align: center;
	font-size: 20px;
	letter-spacing: 5px;
	margin-bottom: 5px;
}
.product-casename .title::after {
	position: absolute;
    content: '';
    left: 50%;
    width: 120px;
    height: 1px;
    background: #fff;
    display: block;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
	opacity: 0;
	transition: all 1s linear;
}
.product-casename .view{
	font-size: 0.8rem;
}

.product-case:hover .product-casename p span{
	transform: translateY(0%);
}
.product-case:hover .product-casename .title::after {
	opacity: 1;
	transition: all 1s linear;
}

@media screen and (max-width:1800px){
	.product-content {
		margin: 0 78px;
	}
}

@media screen and (max-width:1100px) {
	.top_head {
		background-attachment: scroll;
	}
	.product-case .product-casename p span{
		transform: translateY(0%);
	}
	.product-case .product-casename .title::after {
		opacity: 1;
	}
	.product-casename{
		background: rgba(0, 0, 0, 0.2);
		opacity: 1;
	}
	.product-casename .title{
		margin: 5px;
	}
	.product-casename .view{
		font-size: 0.6rem;
	}
}

@media screen and (max-width:900px) {
	.product-content{
		flex-direction: column;
		max-width: 600px;
		margin: 10px auto;
	}
	.product-case {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
		margin: 10px 0;
	}
}
@media screen and (max-width:640px) {
	.icon2 li{
		display: block;
	}
	.product-content{
		margin: 10px 30px;
	}
}

@media screen and (max-width:560px) {

}