@charset "UTF-8";
@media screen and (min-width: 769px) {
	#mainHeading {
		margin-bottom: 60px;
	}
}
@media screen and (max-width: 768px) {
	#mainHeading {
		margin-bottom: 40px;
	}
}
#categoryList {
	overflow-y: scroll;
	width: calc(100% + 30px);
	background-color: #fff;
	letter-spacing: 0.1em;
}
#categoryListContainer {
	position: relative;
	z-index: 50;
	height: 60px;
}
#categoryListCollapsible {
	display: none;
	overflow: hidden;
}
#categoryList .majorCat:first-of-type {
	padding-top: 20px;
}
#categoryList .majorCat:last-of-type {
	padding-bottom: 30px;
}
#categoryList .majorCatLink, #categoryList .subCatLink {
	display: block;
	line-height: 2.4rem;
}
#categoryList .majorCatLink {
	padding: 5px 24px;
	font-weight: 700;
}
#categoryList .subCatLink {
	padding: 5px 35px 5px calc(35px + 0.5em);
}
#categoryListBtn {
	width: 100%;
	background-color: #fff;
	text-align: left;
	letter-spacing: 0.1em;
}
#categoryListBtn:hover {
	opacity: 1;

	-ms-filter: none;
	    filter: none;
}
#categoryListBtn .btnText {
	font-weight: 600;
}
#categoryListBtn .btnBar {
	position: absolute;
	left: 0;
	width: 100%;
	background-color: #000;
	-webkit-transition: -webkit-transform 0.3s ease-out;
	   -moz-transition:    -moz-transform 0.3s ease-out;
	    -ms-transition:     -ms-transform 0.3s ease-out;
	     -o-transition:      -o-transform 0.3s ease-out;
	        transition:         transform 0.3s ease-out;
}
#categoryListBtn .btnBarContainer {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	-webkit-transition: -webkit-transform 0.3s ease-out;
	   -moz-transition:    -moz-transform 0.3s ease-out;
	    -ms-transition:     -ms-transform 0.3s ease-out;
	     -o-transition:      -o-transform 0.3s ease-out;
	        transition:         transform 0.3s ease-out;
}
#categoryListBtn.menuOpened .btnBar {
	-webkit-transform: rotate(-180deg);
	   -moz-transform: rotate(-180deg);
	    -ms-transform: rotate(-180deg);
	     -o-transform: rotate(-180deg);
	        transform: rotate(-180deg);
}
#categoryListBtn.menuOpened .btnBarContainer {
	-webkit-transform: rotate(90deg);
	   -moz-transform: rotate(90deg);
	    -ms-transform: rotate(90deg);
	     -o-transform: rotate(90deg);
	        transform: rotate(90deg);
}
@media screen and (min-width: 769px) {
	#categoryList {
		max-height: 520px;
	}
	#categoryListSection {
		display: -webkit-box;
		display:    -moz-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         box;
		display:         flex;
		margin-bottom: 32px;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		   -moz-box-align: center;
		     -o-box-align: center;
		-webkit-box-lines: multiple;
		   -moz-box-lines: multiple;
		     -o-box-lines: multiple;
		-webkit-box-pack: justify;
		   -moz-box-pack: justify;
		     -o-box-pack: justify;
		-ms-flex-align: center;
		-ms-flex-pack: justify;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
	}
	#categoryListContainer {
		width: 400px;
		margin-right: 20px;
		font-size: 1.6rem;
	}
	#categoryListBtn {
		padding: 18px 24px;
		line-height: 2.5rem;
	}
	#categoryListBtn .btnBar {
		height: 1px;
	}
	#categoryListBtn .btnBar.top {
		top: 0;
	}
	#categoryListBtn .btnBar.middle {
		top: 9px;
	}
	#categoryListBtn .btnBar.bottom {
		bottom: 0;
	}
	#categoryListBtn .btnBarContainer {
		right: 24px;
		width: 30px;
		height: 19px;
	}
	#categoryList .majorCat + .majorCat {
		margin-top: 20px;
	}
	#categoryList .majorCatLink {
		padding: 5px 30px;
	}
}
@media screen and (max-width: 768px) {
	#categoryList {
		max-height: calc(100vh - 200px);
	}
	#categoryListContainer {
		margin-bottom: 40px;
		font-size: 1.6rem;
	}
	#categoryListBtn {
		padding: 16px 24px;
		line-height: 2.8rem;
	}
	#categoryListBtn .btnBar {
		height: 2px;
	}
	#categoryListBtn .btnBar.top {
		top: 0;
	}
	#categoryListBtn .btnBar.middle {
		top: 8px;
	}
	#categoryListBtn .btnBar.bottom {
		bottom: 0;
	}
	#categoryListBtn .btnBarContainer {
		right: 20px;
		width: 32px;
		height: 18px;
	}
	#categoryList .majorCat + .majorCat {
		margin-top: 10px;
	}
	#categoryList .subCatLink span {
		display: block;
	}
}
#worksList .work.dummy {
	margin: 0 !important;
}
#worksList .workPhoto {
	position: relative;
	background-position: center;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
	        background-size: cover;
}
#worksList .workPhoto:before {
	display: block;
	padding-top: 100%;
	content: "";
}
#worksList .workNumbering {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-weight: 600;
	letter-spacing: 0.05em;

	fill: transparent;
	stroke: #fff;
}
#worksList .workNumberingContainer {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
#worksList .workNumberingContainer:before {
	display: block;
	content: "";
}
#worksList .workTextAbout, #worksList .workTextSummary {
	letter-spacing: 0.1em;
}
#worksList .workTextAbout {
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	#worksList {
		display: -webkit-box;
		display:    -moz-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         box;
		display:         flex;

		-webkit-box-lines: multiple;
		   -moz-box-lines: multiple;
		     -o-box-lines: multiple;
		-webkit-box-pack: justify;
		   -moz-box-pack: justify;
		     -o-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
	}
	#worksListSection {
		min-height: 350px;
		margin-bottom: 160px;
	}
	#worksList .work {
		width: calc((100% - 120px) / 3);
		margin-bottom: 60px;
	}
	#worksList .workLink {
		display: block;
		position: relative;
	}
	#worksList .workLink:hover {
		opacity: 1;

		-ms-filter: none;
		    filter: none;
	}
	#worksList .workLink:hover .workText {
		visibility: visible;
		opacity: 1;

		-ms-filter: none;
		    filter: none;
	}
	#worksList .workLink:hover .workTextEnter:after {
		-webkit-transform: translateX(8px);
		   -moz-transform: translateX(8px);
		    -ms-transform: translateX(8px);
		     -o-transform: translateX(8px);
		        transform: translateX(8px);
	}
	#worksList .workNumbering text {
		font-size: 32px;
	}
	#worksList .workNumberingContainer:before {
		padding-top: 11.538461538461538%;
	}
	#worksList .workText {
		visibility: hidden;
		position: absolute;
		top: 10px;
		left: 10px;
		width: calc(100% - 20px);
		height: calc(100% - 20px);
		background-color: rgba(255,255,255,0.85);
		opacity: 0;
		-webkit-transition-duration: 0.3s;
		   -moz-transition-duration: 0.3s;
		    -ms-transition-duration: 0.3s;
		     -o-transition-duration: 0.3s;
		        transition-duration: 0.3s;
		-webkit-transition-property: opacity, visibility;
		   -moz-transition-property: opacity, visibility;
		    -ms-transition-property: opacity, visibility;
		     -o-transition-property: opacity, visibility;
		        transition-property: opacity, visibility;

		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
		    filter: alpha(opacity=0);
	}
	#worksList .workTextInner {
		display: -webkit-box;
		display:    -moz-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         box;
		display:         flex;
		        flex-direction: column;
		width: 100%;
		height: 100%;
		padding: 20px;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		   -moz-box-align: center;
		     -o-box-align: center;
		-webkit-box-orient: vertical;
		   -moz-box-orient: vertical;
		     -o-box-orient: vertical;
		-webkit-box-pack: center;
		   -moz-box-pack: center;
		     -o-box-pack: center;
		-ms-flex-align: center;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	#worksList .workTextInner > * {
		max-width: 100%;
	}
	#worksList .workTextAbout, #worksList .workTextSummary {
		text-indent: 0.1em;
		text-align: center;
	}
	#worksList .workTextAbout {
		margin-bottom: 14px;
		font-size: 1.8rem;
		line-height: 3.2rem;
	}
	#worksList .workTextSummary {
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 2.8rem;
	}
	#worksList .workTextEnter {
		position: absolute;
		right: 30px;
		bottom: 24px;
		padding-right: 50px;
		font-size: 1.4rem;
		font-weight: 600;
		line-height: 2rem;
		letter-spacing: 0.1em;
	}
	#worksList .workTextEnter:after {
		display: block;
		position: absolute;
		right: 0;
		bottom: 40%;
		width: 42px;
		height: 8px;
		background-image: url("../images/global/arrow.svg");
		-webkit-background-size: cover;
		   -moz-background-size: cover;
		        background-size: cover;
		content: "";
		-webkit-transition: -webkit-transform 0.3s;
		   -moz-transition:    -moz-transform 0.3s;
		    -ms-transition:     -ms-transform 0.3s;
		     -o-transition:      -o-transform 0.3s;
		        transition:         transform 0.3s;
	}
}
@media screen and (min-width: 769px) and (max-width: 1340px) {
	#worksList .work {
		width: calc((100% - 60px) / 2);
	}
}
@media screen and (min-width: 769px) and (max-width: 960px) {
	#worksList .work {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	#worksList {
		margin-bottom: 50px;
	}
	#worksListSection {
		margin-bottom: 70px;
	}
	#worksList .work + .work {
		margin-top: 32px;
	}
	#worksList .workNumbering text {
		font-size: 50px;
	}
	#worksList .workNumberingContainer:before {
		padding-top: 10%;
	}
	#worksList .workText {
		padding-top: 20px;
	}
	#worksList .workTextAbout {
		margin-bottom: 5px;
		font-size: 2rem;
		line-height: 2.8rem;
	}
	#worksList .workTextSummary {
		font-size: 1.6rem;
		line-height: 2.5rem;
	}
}
#worksCategoryTitle {
	padding: 18px 0;
	font-size: 2rem;
	text-indent: 0.1em;
	text-align: center;
	line-height: 2.5rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
	#worksCategoryTitle {
		margin: -20px 0 20px;
	}
}
