/*minify reset.css */
.jf-loading {
	opacity: 0;
	visibility: hidden;
}
.jf-active {
	opacity: 1;
	visibility: visible;
}
.jf-inactive {
	opacity: 1;
	visibility: visible;
}
html{color:#000;background:#FFF}a,abbr,acronym,address,applet,article,aside,b,big,blockquote,body,button,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,font,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,input,ins,kbd,label,legend,li,menu,nav,object,ol,p,pre,q,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,textarea,tfoot,th,thead,tr,tt,u,ul,var {margin: 0;padding: 0;border: 0;outline: 0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}q:after,q:before{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}legend{color:#000}#yui3-css-stamp.cssreset{display:none}
html, body{
	height: 100%;
}
body {
	font-family:'Open Sans', sans-serif, sourcehansans-tc-regular, "蘋果儷中黑", Helvetica;
}
a{
	color:inherit;
	text-decoration:none;
}
header{
	position:relative;
	width:100%;
	height:auto;
	min-width:375px;
	margin:0 auto;
	margin-top:115px;
	padding-right:0;
	padding-left:0;
	margin-bottom: 50px;
}
#logo{
	position:absolute;
	top:12px;
	right:0;
	z-index:1000;
}
article#contact{
	float: left;
	width:auto;
	height:auto;
	text-align: left;
	margin-top: 40px;
}
article#contact figure{
	display: inline-block;
	height:30px;
	vertical-align: top;
	margin-top: 2px;
	margin-right: 5px;
}
article#contact > div{
	display: inline-block;
	vertical-align: middle;
	margin-right: 12px;
}
@media (max-width: 767px){
	article#contact > div.onlyl{
		display: none;
	}
}
article#contact p{
	font-size:12px;
	letter-spacing:1px;
	line-height:19px;
	margin-bottom:15px;
}
.en article#contact p{
	padding-top: 1px;
}
article#contact h2{
	font-size:16px;
	font-weight: 300;
	letter-spacing:1px;
	line-height: 19px;
}
article#contact .divider{
	margin: 0 5px;
}
header nav{
	display: table;
	width:auto;
	height:auto;
	text-align:center;
	margin:0 auto;
}
header nav.wide{
	position: relative;
	width: 1120px;
	max-width: 100%;
	text-align: left;
	box-sizing: border-box;
	padding-right: 100px;
}
@media (max-width: 1160px) and (min-width: 768px){
	header nav.wide{
		padding-left: 20px;
	}
}
header nav#menu ul li{
	font-size:30px;
	display:inline-block;
	white-space: normal;
	margin:0 28px;
}
header nav#menu ul li:first-child{
	margin-left: 0;
}
.page-label{
	position: absolute;
	right: 0;
	top: -48px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	height: 140px;
	color: #FFF;
	font-size: 20px;
	font-weight: 600;
	background: #000;
	border-radius: 50%;
	text-align: center;
}
.page-label span{
	display: block;
}
#pre{
	width:63px;
	height:234px;
	position:fixed;
	top:535px;
	left:10px;
	z-index:10000000;
}
#next{
	width:63px;
	height:234px;
	position:fixed;
	top:535px;
	right:10px;
	z-index:10000000;
}
#case
{
	width:100%;
	min-height:600px;
	max-width:1440px;
	margin:0 auto;
}
#case h1{
	width:100%;
	text-align:center;
	font-size:26px;
	line-height:1.7em;
	margin-bottom:5px;
	font-weight:600;
}
#case p#tags{
	color:#404040;
	max-width:750px;
	text-align:center;
	font-size:14px;
	line-height:1.7em;
	margin:0 auto 35px;
}
#case article{
	margin:0 auto;
	max-width:1200px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	padding:10px;
}
#case div#content{
	max-width:1200px;
	width: 100%;
	margin-bottom:60px;
	display:inline-block;
	font-size:13px;
	text-align: justify;
	letter-spacing:0.5px;
	line-height:1.7em;
	color:#000;
}
#case div#photos{
	font-size:13px;
	line-height:1.5em;
	display:inline;
	text-align:center;
}
#case div#photos img{
	max-width:750px;
	height:auto;
}
#case strong{
	font-weight:600;
}
#case em{
	font-style:italic;
}
.fb-share-button{
	margin:10px 10px 0 0;
	float:right;
}
.fb-share-button.bottom{
	position:absolute;
	right:0px;
	top:0;
	float:right;
}
#case div#under{
	position:relative;
	font-size:13px;
	max-width:750px;
	line-height:1.5em;
	margin-top:15px;
	margin-bottom:150px;
	margin-left: auto;
	margin-right: auto;
}
.fb-comments {
	width:750px;
	margin:0 auto;
}
#case div#under p.date{
	font-size:13px;
	margin-bottom:10px;
	font-weight:600;
}
#case div#under p.catalogue{
	font-size:12px;
	margin-bottom:26px;
	color:#888;
}
#works
{
	width:100%;
	min-height:600px;
	max-width:2020px;
	min-width:375px;
	margin:0 auto;
	margin-bottom:60px;
}
#works .work{
	text-align:center;
}
#works .work img{
	display: inline-block;
	max-width: 400px;
	height: auto;
	vertical-align: middle;
	margin-bottom: 5px;
}
.en #works .work img{
	width: 600px;
	max-width: 600px;
}
#case span.caption{
	margin-bottom:17px;
	width:auto;
	display:block;
	font-size:13px;
	letter-spacing:0.5px;
	line-height:2em;
	color:#000;
}
div.clear {clear:both;height:0px;}	
.bold{font-weight:bold;}	


#case div#content p, #case div#content ul, #case div#content ol{
	max-width: 750px;
	line-height: 1.7em;
	padding: 0 225px;
}
#case div#content ul, #case div#content ol{
	margin-left: 2.5em;
}
#case div#content ul li{
	list-style-type: disc;
}
#case div#content ol li{
	list-style-type: decimal;
}
#case div#content img{
	display: block;
	max-width: 1180px;
	width: auto;
	height: auto;
	margin: 0 auto 2.3em auto;
}
#case div#content blockquote{
	width: calc(100% - 450px);
	border-left: #eee solid 5px;
	padding: 10px 0 10px 10px;
	margin: 0 auto;
}
#case div#content blockquote *{
	padding: 0;
	margin: 0;
}
.two-col{
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.3em!important;
}
.two-col > figure{
	width: 48.75%;
	max-width: 585px;
}
.two-col img, #case div#content .two-col img{
	max-width: 100%;
	height: auto;
	margin-bottom: 1em;
}
.two-col figcaption{
	text-align: center;
	font-size: 13px;
}
#case div#content .two-col figcaption p{
	max-width: none;
	padding: 0;
}
.two-col:empty{
	display: none;
}
iframe{
	max-width: 100%;
}
.img-text{
	max-width: 1200px;
	margin: 0 auto 1.9em;
}
.img-text img, #case div#content .img-text img{
	display: initial;
	width: 67%;
	max-width: 800px;
	height: auto;
	margin-right: 4.5%;
	margin-bottom: 0!important;
}
.img-text .text-wrapper{
	display: inline-block;
	max-width: 335px;
	width: 27%;
	vertical-align: top;
}
.footer{
	font-size: 12px;
	text-align: center;
	padding: 15px;
	letter-spacing:0.08em;
}
section.about{
	width: 1160px;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0 20px;
	margin: 0 auto;
}
.about-top{
	box-sizing: border-box;
	border-bottom: #000 solid 1px;
	margin-bottom: 45px;
}
.about-top img{
	max-width: 100%;
}
.about-top .text{
	display: block;
	line-height: 1.8em;
	font-size: 14px;
	text-align: center;
	margin: 30px 0;
}
.en .about-top .title{
	width: 30%;
	margin-right: 2.2%;
}
.en .about-top .text{
	width: calc(67.8% - 6px);
}
.member-wrapper .img-wrapper, .member-wrapper .text-wrapper{
	display: inline-block;
	vertical-align: top;
}
.member-wrapper img{
	max-width: 100%;
	height: auto;
}
.member-wrapper .main{
	margin-bottom: 45px;
}
.member-wrapper .main .img-wrapper{
	width: 30%;
	margin-right: 1.7%;
}
.member-wrapper .main .text-wrapper{
	width: calc(68.3% - 6px);
	font-size: 13px;
}
.member-wrapper .title{
	font-size: 21px;
	font-weight: 600;
	margin-bottom: 20px;
}
.member-wrapper small{
	display: block;
	font-size: 12px;
	margin-bottom: 2px;
}
.member-wrapper ul{
	margin-bottom: 3px;
}
.member-wrapper ul li{
	margin-bottom: 3px;
}
.member-wrapper .text{
	line-height: 1.8em;
	color: #666;
}
.member-wrapper .col-wrapper{
	display: flex;
	flex-wrap: wrap;
}
.member-wrapper .col{
	flex: 0 0 25%;
	margin-bottom: 45px;
}
.member-wrapper .col .img-wrapper{
	width: 60%;
	margin-right: 3.4%;
}
.member-wrapper .col .text-wrapper{
	font-size: 13px;
	box-sizing: border-box;
	padding-right: 1em;;
}
figure{
	max-width: 100%;
}
@media (min-width: 768px){
	.onlym{
		display: none;
	}
}
@media (max-width: 1220px) and (min-width: 768px){
	.en #works .work img{
		width: auto;
		max-width: 400px;
	}
}
@media (max-width: 1200px) and (min-width: 768px){
	#case div#content img{
		max-width: 100%;
		transform: none!important;
		margin-left: auto!important;
		margin-right: auto!important;
	}
}
@media (min-width: 768px) and (max-width: 991px){
	#case div#content p, #case div#content ul, #case div#content ol{
		padding: 0 150px;
	}
	#case div#content blockquote{
		width: calc(100% - 300px);
	}
	#case div#content blockquote *{
		padding: 0;
	}
}
@media (max-width: 767px){
	.onlyl{
		display: none;
	}
	header{
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
		padding: 0 10px;
		margin-top: 8px;
		margin-bottom: 10px;
	}
	header nav{
		display: block;
		text-align: left;
	}
	header #menu > ul{
		display: inline-block;
		max-width: 45%;
		text-align: left;
	}
	header nav#menu ul li{
		display: block;
		font-size: 22px;
		font-weight: 600;
		margin: 0 0 6px;
	}
	header nav#menu ul li.bold{
		font-weight: 700;
	}
	header #menu > #contact{
		float: none;
		display: flex;
		width: 100%;
		text-align: left;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		margin: 10px 0 0 0;
	}
	header #menu.wide > #contact, .about article#contact{
		align-items: end;
		margin-bottom: 15px;
	}
	header #menu > #contact > div:first-child, .about article#contact > div:first-child{
		flex: 0 0 100%;
		margin-right: 0;
		margin-bottom: -5px;
	}
	header #menu > #contact > div:last-child, .about article#contact > div:last-child{
		flex: 0 0 100%;
		text-align: right;
		margin-top: -38px;
	}
	article#contact figure:last-child{
		margin-right: 0;
	}
	.about article#contact{
		float: none;
		display: flex;
		align-items: end;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 0 15px;
		margin-top: 16px;
	}

	header #menu > #contact .onlym{
		display: inline;
	}
	article#contact h2, article#contact p{
		line-height: 21px;
		font-size: 13px;
	}
	article#contact p{
		margin-bottom: 10px;
	}
	main{
		min-width: 375px;
	}
	#works{
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	    padding: 0 10px;
	}
	.en #works{
		padding-top: 108px;
	}
	#works .work{
		text-align: left;
	}
	#works .work img, .en #works .work img{
		max-width: calc(50% - 3px);
		width: auto;
	}
	#case div#content p, #case div#content ul, #case div#content ol{
		max-width: 100%;
		padding: 0;
	}
	#case div#content img{
		max-width: 100%!important;
		width: auto!important;
		height: auto!important;
		transform: none!important;
		margin-left: auto!important;
		margin-right: auto!important;
		margin-bottom: 1.46em;
	}
	#next{
		top: 303px;
		right: 0;
		width: 25px;
		height: 110px;
	}
	#pre{
		top: 303px;
		left: 0;
		width: 25px;
		height: 110px;
	}
	#next img, #pre img{
		width: 100%;
		height: auto;
	}
	#case:before{
		content: '';
		display: block;
		width: calc(100% - 20px);
		height: 2px;
		background: #51FFB9;
		margin: 25px auto 23px;
	}
	.img-text img, #case div#content .img-text img{
		margin-bottom: 0;
	}
	.img-text .text-wrapper{
		width: 100%;
		padding-top: 1.5%;
	}
	#case div#content blockquote{
		width: calc(100% - 40px);
	}
	.fb-comments iframe{
		width: 100%!important;
	}
	#case div#content{
		font-size: 15px;
	}
	.en #case{
		margin-top: 120px;
	}
	header nav.wide{
		padding-right: 0;
	}
	section.about{
		padding: 0;
	}
	.page-label{
		top: 0;
		right: 0;
		width: 120px;
		height: 120px;
		line-height: 1.2em;
		font-size: 15px;
	}
	.en .page-label{
		top: 114px;
	}
	.about-top{
		border: 0;
		padding: 10px 0 0;
		margin-bottom: 25px;
	}
	.en .about-top{
		padding-top: 108px;
	}
	.about-top .title, .en .about-top .title{
		display: block;
		width: 100%;
		text-align: center;
		margin-bottom: 30px;
	}
	.about-top .title br{
		display: none;
	}
	.about-top .text, .en .about-top .text{
		display: block;
		width: 100%;
		text-align: left;
		border-top: #000 solid 1px;
		border-bottom: #000 solid 1px;
		box-sizing: border-box;
		padding: 20px 15px;
		margin: 20px 0;
	}
	.member-wrapper{
		padding: 0 16px;
	}
	.member-wrapper .img-wrapper, .member-wrapper .text-wrapper{
		display: block;
		text-align: center;
	}
	.member-wrapper .main{
		margin-bottom: 55px;
	}
	.member-wrapper .main .img-wrapper, .member-wrapper .col .img-wrapper{
		width: 100%;
		margin: 0 0 14px 0;
	}
	.member-wrapper .main .text-wrapper, .member-wrapper .col .text-wrapper{
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	.member-wrapper .title{
		margin-bottom: 14px;
	}
	.member-wrapper .col{
		flex: 0 0 100%;
	}
	.member-wrapper .col:nth-child(1){
		order: 3;
	}
	.member-wrapper .col:nth-child(2){
		order: 1;
	}
	.member-wrapper .col:nth-child(3){
		order: 4;
	}
	.member-wrapper .col:nth-child(4){
		order: 2;
	}
	.member-wrapper .scale-m{
		font-size: 12px;
		transform: scale(0.9);
	}
	.two-col{
		margin-bottom: 0.54em!important;
	}
	.two-col img, #case div#content .two-col img{
		margin-bottom: 0.86em!important;
	}
	.img-text{
		margin-bottom: 1.06em;
	}
}