/* CSS Document */
.main .gallery {
	width:100%;
}

.main .gallery .for_gallery_box {
	float:left;
	width:calc(33.333333333333333% - 40px);
	max-width:360px;
	height:calc(33.333333333333333vw - 40px);
	max-height:360px;
	margin:20px;
	display:block;
}

.main .gallery .info_box {
	float:left;
	width:calc(33.333333333333333% - 80px);
	max-width:320px;
	height:calc(33.333333333333333vw - 80px);
	max-height:320px;
	margin:20px;
	padding:20px;
	display:table;
	border-radius:2px;
	
	background:url('/design/bg_darker.png');
	-webkit-box-shadow: inset -5px 9px 30px 0px rgba(30, 30, 30, 0.1);
	-moz-box-shadow:    inset -5px 9px 30px 0px rgba(30, 30, 30, 0.1);
	box-shadow:         inset -5px 9px 30px 0px rgba(30, 30, 30, 0.1);
}

.main .gallery .info_box .content {
	display:table-cell;
	width:100%;
	height:100%;
	vertical-align:middle;
}

.main .gallery .info_box h1 {
	font-family: 'Amatic SC', cursive;
	font-size:48px;
	color:#0071ba;
	font-weight:bold;
	line-height:50px;
	padding-bottom:10px;
	padding-top:0;
	
	background: url('/design/bg_hp_text.png') center bottom no-repeat;
	background-size:100% auto;
}

.main .gallery .info_box p {
	padding-top: 20px;
    font-size: 14px;
    color: #524640;
    font-weight: 300;
    line-height: 20px;
    position: relative;
    padding-bottom: 0;
}

.main .gallery .info_box .next_content {
	display:none;
	width:76px;
	height:22px;
	background:url('/design/bg_next_content.png');
	margin-bottom:30px;
	margin-top:40px;
}

.main .gallery .gallery_box {
	float:left;
	display:block;
	text-decoration: none;
	width:100%;
	height:100%;
	background:#ffffff;
	border-radius:2px;
	position:relative;
	
	-webkit-box-shadow: 2px 2px 8px 0px rgba(50, 50, 50, 0.2), inset -5px 9px 30px 0px rgba(30, 30, 30, 0.1);
	-moz-box-shadow:    2px 2px 8px 0px rgba(50, 50, 50, 0.2), inset -5px 9px 30px 0px rgba(30, 30, 30, 0.1);
	box-shadow:         2px 2px 8px 0px rgba(50, 50, 50, 0.2), inset -5px 9px 30px 0px rgba(30, 30, 30, 0.1);
}

.main .gallery .gallery_box.flipping {
	position:absolute;
	left:0;
	top:0;
}

.main .gallery .gallery_box .for_img {
	display:block;
	padding:20px;
	position:relative;
	height:calc(100% - 40px);
}

.main .gallery .gallery_box.image .for_img img {
	height:100%;
}

.main .gallery .gallery_box.image .for_img .img_desc {
	width:calc(100% - 100px);
	height:calc(100% - 100px);
	background:url('/design/bg_dark.png');
	position:absolute;
	left:50px;
	top:50px;
	color:#ffffff;
	font-size:14px;
	display:table;
	opacity:0;
	border-radius:2px;
	
	transition: opacity 0.4s;
}

.main .gallery .gallery_box.image:hover .for_img .img_desc {
	opacity:1;
}

.main .gallery .gallery_box.image .for_img .img_desc .inner {
	display:table-cell;
	width:calc(100% - 30px);
	height:calc(100% - 30px);
	padding:15px;
	vertical-align:middle;
}

.main .gallery .for_gallery_animate.flipped .gallery_box .for_img {
	display:none;
}

.main .gallery .gallery_box .for_img .main_img {
	width:100%;
	height:calc(100% - 40px);
	object-fit:cover;
	position:relative;
}

.main .gallery .gallery_box .for_desc {
	margin:20px;
	height:calc(100% - 40px);
	position:relative;
	text-align:left;
}

.main .gallery .for_gallery_animate.flipped .gallery_box .for_desc {
	display:block;
}

.main .gallery .gallery_box .arrow {
	display:block;
	background:url('/design/bg_arrow.png') right center no-repeat;
	color:#524640;
	font-family: 'Amatic SC', cursive;
	height:30px;
	line-height:30px;
	margin-top:8px;
}

.main .gallery .gallery_box .for_img .arrow {
	font-size:30px;
	text-align:left;
}

.main .gallery .gallery_box .for_desc .arrow {
	position:absolute;
	bottom:0;
	right:0;
	text-align:right;
	padding-right:20px;
	font-size:22px;
}

.main .gallery .gallery_box .for_desc h3 {
	color:#0071ba;
	font-family: 'Amatic SC', cursive;
	font-size:32px;
	font-weight:normal;
	padding:20px 5px 15px 5px;
}

.main .gallery .gallery_box .for_desc p {
	font-size:14px;
	line-height:18px;
	color:#726257;
	padding:0 5px;
	font-weight:300;
}

.gallery_blur {
	-webkit-filter: blur(5px);
    filter: blur(5px);
    
    -webkit-animation: blur .4s 1;
    animation: blur .4s 1;
}

@-webkit-keyframes blur {
  0% { -webkit-filter: blur(0px); }
  100% { -webkit-filter: blur(5px); }
}

.for_img_detail {
	position:absolute;
	z-index:10;
	left:0;
	top:0;
	width:100%;
	min-width:420px;
	height:100%;
	background:url('/design/bg_gallery_img.png');
	display:none;
	overflow:hidden;
}

.for_img_detail .img_detail {
	position:fixed;
	width:100%;
	min-width:420px;
	height:100vh;
	display:table;
}

.for_img_detail .img_detail .content {
	position:relative;
	display:table-cell;
	width:100%;
	height:100%;
	vertical-align:middle;
}

.for_img_detail .img_detail .content img {
	max-width:calc(100% - 40px);
	max-height:calc(100vh - 60px);
	min-width:380px;
	border:5px solid #ffffff;
	border-radius:3px;
	
	-webkit-box-shadow: 2px 2px 8px 0px rgba(50, 50, 50, 0.2), inset -5px 9px 30px 0px rgba(30, 30, 30, 0.1);
	-moz-box-shadow:    2px 2px 8px 0px rgba(50, 50, 50, 0.2), inset -5px 9px 30px 0px rgba(30, 30, 30, 0.1);
	box-shadow:         2px 2px 8px 0px rgba(50, 50, 50, 0.2), inset -5px 9px 30px 0px rgba(30, 30, 30, 0.1);
}

.for_img_detail .img_detail .desc {
	color:#ffffff;
	padding-top:5px;
	font-weight:300;
	font-size:14px;
}

.for_img_detail .next {
	width:76px;
	height:76px;
	position:absolute;
	top:calc(50% - 38px);
}

.for_img_detail .next.left {
	background:url('/design/arrow_left.png') center center no-repeat;
	left:50px;
}

.for_img_detail .next.right {
	background:url('/design/arrow_right.png') center center no-repeat;
	right:50px;
}

.for_img_detail .close {
	width:30px;
	height:30px;
	position:absolute;
	top:20px;
	right:20px;
	background:url('/design/lb_close.png') center center no-repeat;
	background-size:contain;
}