@charset "UTF-8";
/* 公用 */
.w1280{width:1280px;}
.w904{width: 904px;}
.bg03121b{background: #03121b; padding:100px 0 100px 0;}
.bg_white{background: #fff}

#lightbox #lightbox-images .lightbox-image:hover,#lightbox:hover {
	cursor: pointer
}

#lightbox #lightbox-nav .next,#lightbox #lightbox-nav .prev,#search .button,.menu-button .close-menu,.menu-button .open-menu,.news .nav a,.sns a {
	background-repeat: no-repeat
}

#images .image .name,header .left a,header .right .side-menu li a {
	white-space: nowrap;
	overflow: hidden
}


header{
	position: relative;
	z-index: 10;
	width: 100%;
	height: 10px;
	font-size: 14px;
	margin-top: 35px;
	margin-bottom: 70px
}

header::after {
	content: "";
	clear: both
}

header .left {
	display: inline;
	float: left;
	box-sizing: border-box;
	border-left: 0 solid #000;
	height: 10px;
	line-height: 1.1em
}

#search .button,#search input {
	box-sizing: border-box;
	height: 30px
}

header .left a {
	position: absolute;
	display: block;
	left: 80px;
	width: 380px;
	margin-top: -1px
}

header .left .name {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
}

header .left .title {
	margin-left: 20px;
	color: #999
}
header .tel{position:absolute; right: 0; font-size: 12px; color: #03121b;}
header .right {
	display: inline;
	float: right;
	position: relative;
	margin-right: 80px;
	margin-top: -1px
}

header .right .side-menu,header .right .side-menu li {
	display: inline;
	float: left
}

header .right .side-menu li::after {
	content: "|";
	color: #999;
	margin-right: 8px;
	display: inline-block;
	-webkit-transform: translateY(-1px);
	transform: translateY(-1px)
}

header .right .side-menu li:last-child::after {
	content: "";
	margin-right: 0
}

#content .project-group:after,.news .entry .header:after {
	content: ".";
	visibility: hidden;
	clear: both
}

header .right .side-menu li:last-child a {
	margin-right: 0
}

header .right .side-menu li a {
	position: relative;
	display: inline-block;
	color: #999;
	margin-right: 8px
}

header .right .side-menu li.current a {
	color: #000
}

header .right .side-menu li.featured a {
	width: 148px
}

header .right .side-menu li.category a {
	width: 98px
}

header .right .side-menu li.all a {
	width: 100px
}

header .right .side-menu li.profile a {
	width: 58px
}

header .right .side-menu li.contact a {
	width: 65px
}

header .right .side-menu li.news a {
	width: 39px
}

@media (max-width:1190px) {
	.detail header .title {
		display: none
	}

	.detail header .left a {
		width: 110px
	}
}

@media (max-width:920px) {
	.detail header .title {
		display: inline
	}

	.detail header .left a {
		width: 380px
	}

	.detail header .right #sns,.detail header .right .side-menu {
		display: none
	}

	.detail header .right .menu-button {
		display: block
	}
}

#search {
	display: inline;
	float: left;
	position: relative;
	margin-top: -10px;
	width: 300px
}

#search input {
	display: inline;
	float: right;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 0;
	padding: 10px 30px 10px 10px;
	border: 1px solid #ccc;
	opacity: 0;
	letter-spacing: .05em
}

#search input::-webkit-input-placeholder {
	color: #ccc;
	letter-spacing: .05em
}

#search input::-moz-placeholder {
	color: #ccc;
	letter-spacing: .05em
}

#search input:-ms-input-placeholder {
	color: #ccc;
	letter-spacing: .05em
}

#search input::placeholder {
	color: #ccc;
	letter-spacing: .05em
}

#search .button {
	display: inline;
	float: left;
	position: absolute;
	right: 0;
	top: 0;
	width: 30px;
	background-image: url(../images/search.svg);
	background-size: 12px 12px;
	background-position: 8px 8px
}

@media (max-width:890px) {
	#search {
		width: 200px
	}
}

footer {
	position: relative;
	z-index: 10;
	clear: both;
	margin-left: 80px;
	margin-top: 80px;
	padding-bottom: 40px
}

footer .copyright {
	font-size: 10px;
	letter-spacing: .05em;
	color: #000
}

footer.fixed {
	position: fixed;
	left: 0;
	bottom: 0
}

.detail footer.fixed {
	position: relative;
	left: auto;
	bottom: auto
}

.effect-text {
	visibility: hidden
}

.loading {
	color: #999
}

#background {
	position: fixed;
	z-index: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	left: 0;
	top: 0
}

#background .image {
	position: absolute;
	z-index: 0;
	display: none
}

#content {
	position: relative;
	z-index: 10;
	margin-left: 375px;
	margin-right: 40px;
	margin-bottom: 80px;
	width: auto
}

#content .project-group {
	display: inline-block;
	min-height: 1%;
	width: 100%;
	margin-bottom: 30px
}

#content .project-group:after {
	display: block;
	height: 0
}

#content .project-group .category,#content .project-group .project {
	position: relative;
	display: block;
	height: 1.1em;
	padding-bottom: 15px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis
}

#content .project-group .category .category-number,#content .project-group .category .project-year,#content .project-group .project .category-number,#content .project-group .project .project-year {
	vertical-align: 2px;
	font-size: 10px;
	font-family: HelveticaNeueW01-45Ligh,Helvetica,Arial,Verdana,"Noto Sans Japanese","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif
}

#content .project-group .category .category-name,#content .project-group .category .project-name,#content .project-group .project .category-name,#content .project-group .project .project-name {
	padding-left: 15px
}

#content .project-group:last-child {
	margin-bottom: 0
}

#content .highlight {
	background-color: #ff0
}

.featured a.project:hover {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1
}

.category #content .project-group .project,.featured #content .project-group .project {
	width: 100%
}

.all a.project {
	display: inline;
	float: left;
	margin-right: 40px
}

.reverse,.reverse a {
	color: #fff
}

.reverse .left {
	border-left-color: #fff
}

.reverse .left .title {
	filter: alpha(opacity=60);
	-moz-opacity: .6;
	opacity: .6;
	color: #fff
}

.reverse .side-menu li a {
	filter: alpha(opacity=60);
	-moz-opacity: .6;
	opacity: .6;
	position: relative;
	color: #fff
}

.reverse .side-menu li.current a {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	color: #fff
}

.reverse .copyright {
	filter: alpha(opacity=60);
	-moz-opacity: .6;
	opacity: .6;
	color: #fff
}

.reverse .effect {
	background-color: #fff
}

.profile #content .en {
	margin-bottom: 100px
}

.profile #content .en .portrait {
	float: right;
	margin-left: 20px;
	margin-top: 8px;
	margin-bottom: 20px
}

.profile #content .en .portrait img {
	width: 100%;
	height: auto
}

.profile #content .en .name {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
	font-size: 37px;
	line-height: 1.1em;
	margin-top: -5px;
	margin-bottom: 50px;
	letter-spacing: .1em
}

.profile #content .en .text p {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: .05em;
	margin-bottom: 1.5em
}

.profile #content .ja .name,.profile #content .ja .text p {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
}

.profile #content .ja .name {
	font-size: 36px;
	font-weight: 100;
	line-height: 1.1em;
	margin-bottom: 50px;
	letter-spacing: .05em
}

.profile #content .ja .text p {
	font-size: 14px;
	font-weight: 200;
	color: #444;
	letter-spacing: 0;
	line-height: 30px;
	margin-bottom: 1.5em
}

.contact #content {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: .05em;
	margin-bottom: 80px
}

.contact #content .ja {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
	font-weight: 200;
	color: #444;
	font-size: 14px;
	line-height: 32px
}

.news .entry .content p,.news .entry .header .title,.news .entry .meta {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
}

.contact #content a:hover,.news .entry a:hover {
	color: #999
}

.contact #content .left {
	float: left;
	width: 110px
}

.contact #content .right {
	width: auto;
	margin-left: 110px
}

.contact #content #map {
	width: calc(100% - 40px);
	height: 460px;
	background-color: #eee;
	margin-bottom: 47px
}

.contact #content .addresses .left {
	margin-top: -9px
}

.contact #content .address.en,.contact #content .addresses,.contact #content .fax {
	margin-bottom: 40px
}

.contact #content a.address,.contact #content a.right {
	display: block
}

.news .entry {
	margin-bottom: 100px
}

.news .entry .header {
	display: inline-block;
	min-height: 1%;
	width: 100%
}

.news .entry .header:after {
	display: block;
	height: 0
}

.news .entry .header .title {
	display: inline;
	float: left;
	width: calc(100% - 80px);
	font-size: 36px;
	line-height: 1.2em;
	margin-top: -7px;
	margin-bottom: 15px
}

.news .entry .header .sns {
	display: inline;
	float: right;
	position: static;
	top: 0;
	right: 0
}

.news .entry .header .sns a.twitter {
	background-color: #ccc
}

.news .entry .header .sns a.facebook {
	background-color: #aaa
}

.news .entry .header .sns a:hover {
	background-color: #000
}

.news .entry .meta {
	font-size: 16px;
	margin-bottom: 60px
}

.news .entry .meta>span::after {
	content: " / "
}

.news .entry .meta>span:last-child::after {
	content: ""
}

.news .entry .content p {
	font-weight: 200;
	color: #444;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: .05em;
	margin-bottom: 40px
}

.news .entry .content p a {
	border-bottom: 1px #999 solid;
	padding-bottom: 2px
}

.news .entry .content p a:hover {
	border-bottom: 1px #ccc solid
}

.news .entry .content p a img {
	margin-bottom: -6px;
	border-bottom: 6px solid #fff;
	background-color: #f5f5f5
}

.news .entry .content .youtube-wrapper {
	margin-bottom: 24px
}

.news .nav {
	width: auto;
	height: 13px
}

.news .nav a {
	display: block;
	height: 13px;
	font-size: 16px;
	background-size: 13px 26px
}

.news .nav a:hover {
	filter: alpha(opacity=60);
	-moz-opacity: .6;
	opacity: .6
}

.news .nav .prev {
	display: inline;
	float: left;
	width: 50px;
	background-image: url(../images/arrow_prev_small.svg);
	padding-left: 20px;
	margin-right: 20px
}

.news .nav .next {
	display: inline;
	float: left;
	width: 120px;
	background-image: url(../images/arrow_next_small.svg);
	background-position: 50px 0
}

#lightbox {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 9999
}

#lightbox #lightbox-nav .next,#lightbox #lightbox-nav .prev {
	display: block;
	position: absolute;
	top: 50%;
	width: 30px;
	height: 60px;
	margin-top: -30px
}

#lightbox #lightbox-nav .prev {
	left: 30px;
	background-image: url(../images/arrow_prev.svg);
	background-size: 30px 120px;
	background-position: 0 0
}

#lightbox #lightbox-nav .prev:hover {
	background-position: 0 -60px
}

#lightbox #lightbox-nav .next {
	right: 30px;
	background-image: url(../images/arrow_next.svg);
	background-size: 30px 120px;
	background-position: 0 0
}

#lightbox #lightbox-nav .next:hover {
	background-position: 0 -60px
}

#lightbox #lightbox-nav .close {
	display: block;
	position: absolute;
	width: 30px;
	height: 30px;
	top: 30px;
	right: 30px;
	background-image: url(../images/close.svg);
	background-size: 30px 60px;
	background-repeat: no-repeat;
	background-position: 0 0
}

#lightbox #lightbox-nav .close:hover {
	background-position: 0 -30px
}

#lightbox #lightbox-images .lightbox-image {
	position: absolute;
	left: 0;
	right: 0;
	display: block
}

#lightbox #lightbox-images .lightbox-image iframe,#lightbox #lightbox-images .lightbox-image img {
	width: 100%;
	height: 100%
}

.sns,.sns a {
	height: 30px
}

#lightbox #lightbox-images .lightbox-image .cover {
	position: relative;
	text-align: center;
	color: #fff
}

#lightbox #lightbox-images .lightbox-image .cover img,.sns {
	position: absolute
}

#lightbox #lightbox-images .lightbox-image .cover .cover-title {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
	font-size: 60px;
	line-height: 1.2em;
	margin-bottom: 20px;
	letter-spacing: .1em
}

#description .description-body.en p,#lang-switch,#lightbox #lightbox-images .lightbox-image .cover .year,.credits li {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
}

#lightbox #lightbox-images .lightbox-image .cover .year {
	font-size: 12px;
	margin-bottom: 32px
}

#lightbox #lightbox-images .lightbox-image .cover .cover-number {
	font-size: 12px;
	margin-bottom: 41px
}

#lightbox #lightbox-images .lightbox-image .cover .cover-info {
	font-size: 12px
}

.category #lightbox #lightbox-images .cover .cover-title {
	margin-bottom: 43px
}

html:-webkit-full-screen #lightbox {
	background-color: #000;
	cursor: none
}

html:-moz-full-screen #lightbox {
	background-color: #000;
	cursor: none
}

html:-ms-fullscreen #lightbox {
	background-color: #000;
	cursor: none
}

html:fullscreen #lightbox {
	background-color: #000;
	cursor: none
}

html:-webkit-full-screen #lightbox #lightbox-images .lightbox-image:hover {
	cursor: none
}

html:-moz-full-screen #lightbox #lightbox-images .lightbox-image:hover {
	cursor: none
}

html:-ms-fullscreen #lightbox #lightbox-images .lightbox-image:hover {
	cursor: none
}

html:fullscreen #lightbox #lightbox-images .lightbox-image:hover {
	cursor: none
}

html:-webkit-full-screen #lightbox-nav {
	display: none
}

html:-moz-full-screen #lightbox-nav {
	display: none
}

html:-ms-fullscreen #lightbox-nav {
	display: none
}

html:fullscreen #lightbox-nav {
	display: none
}

html:-webkit-full-screen.white #lightbox {
	background-color: #fff
}

html:-moz-full-screen.white #lightbox {
	background-color: #fff
}

html:-ms-fullscreen.white #lightbox {
	background-color: #fff
}

html:fullscreen.white #lightbox {
	background-color: #fff
}

html:-webkit-full-screen.white #lightbox #lightbox-images .lightbox-image .cover {
	color: #000
}

html:-moz-full-screen.white #lightbox #lightbox-images .lightbox-image .cover {
	color: #000
}

html:-ms-fullscreen.white #lightbox #lightbox-images .lightbox-image .cover {
	color: #000
}

html:fullscreen.white #lightbox #lightbox-images .lightbox-image .cover {
	color: #000
}

.sns {
	top: -70px;
	right: 0;
	width: 60px
}

.sns a {
	float: left;
	display: block;
	width: 30px
}

.detail .side-menu,.menu-button {
	display: none
}

.sns a.twitter {
	background-color: #ccc;
	background-image: url(../images/tw.svg);
	background-size: 18px 15px;
	background-position: 6px 8px
}

.sns a.facebook {
	background-color: #666;
	background-image: url(../images/fb.svg);
	background-size: 9px 17px;
	background-position: 11px 7px
}

.sns a:hover {
	background-color: #000
}

.menu-button {
	width: 21px;
	height: 15px;
	margin-top: 0;
	margin-right: 4px
}

.menu-button .open-menu {
	height: 15px;
	background-position: 0 0;
	background-size: 21px 30px;
	background-image: url(../images/menu_button.svg)
}

.menu-button .open-menu:hover {
	background-position: 0 -15px
}

.menu-button .close-menu {
	margin-top: -3px;
	height: 21px;
	background-position: 0 0;
	background-size: 21px 42px;
	background-image: url(../images/close.svg)
}

#description .mores .more,.credits .more {
	background-image: url(../images/read_more.svg);
	background-size: 9px 9px;
	background-repeat: no-repeat
}

.menu-button .close-menu:hover {
	background-position: 0 -21px
}

header .side-menu {
	display: block;
	width: auto
}

.side-menu {
	display: inline;
	float: left;
	position: relative;
	z-index: 10;
	margin-left: 80px;
	margin-bottom: 50px;
}

.side-menu.fixed {
	position: fixed;
	top: 70px
}

.side-menu ul li {
	margin-bottom: 15px
}

.side-menu ul li a {
	position: relative;
	overflow: hidden;
	height: 1.1em;
	display: block;
	color: #999
}

.side-menu ul li.current a {
	color: #000;
}

.side-menu ul .sub {
	margin-left: 20px
}

.credits li {
	font-size: 12px;
	margin-bottom: 10px
}

.credits .long {
	display: none
}

.bottom .credits {
	text-align: center;
	margin-top: 80px;
	margin-bottom: 80px
}

.credits .more {
	display: inline-block;
	width: 78px;
	background-position: 62px 1px
}

#lang-switch {
	position: absolute;
	bottom: 0;
	right: 0;
	height: 16px;
	font-size: 14px;
	color: #999
}

#lang-switch .current,#lang-switch:hover {
	color: #000
}

@media (min-width:1025px) {
	#lang-switch {
		display: none!important
	}
}

#description {
	display: inline-block;
	min-height: 1%;
	position: relative;
	margin-bottom: 55px;
	width: 100%
}

#description:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden
}

#description .single .description-body {
	width: 100%!important
}

#description .description-body .long {
	display: none
}

#description .description-body.en {
	display: inline;
	float: left;
	width: calc(50% - 40px);
	margin-right: 80px
}

#description .description-body.en p {
	font-size: 16px;
	line-height: 30px;
	letter-spacing: .05em;
	margin-bottom: 40px
}

#description .description-body.ja {
	display: inline;
	float: right;
	width: calc(50% - 40px);
	margin-right: -2px
}

#description .description-body.ja p {
	font-size: 14px;
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
	font-weight: 200;
	color: #444;
	letter-spacing: 0;
	line-height: 30px;
	margin-bottom: 40px
}

#description .description-body p.headline {
	font-size: 24px;
	font-weight: 200;
	margin-top: 50px;
	margin-bottom: 50px
}

#description .description-body p.headline:first-child {
	margin-top: 0
}

#description .mores {
	position: relative;
	clear: both;
	height: 20px
}

#detail-content #cover img,#images .image,#images .image .name {
	position: absolute
}

#description .mores .more {
	position: absolute;
	display: block;
	width: 120px;
	height: 20px;
	line-height: 17px;
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
	font-size: 14px;
	background-position: 97px 4px;
	left: calc(50% + 40px)
}

#description .mores .more:first-child {
	left: 0
}

#description .mores .more:hover {
	filter: alpha(opacity=70);
	-moz-opacity: .7;
	opacity: .7
}

@media (min-width:768px) and (max-width:1024px) {
	#description .description-body.en,#description .description-body.ja {
		float: none;
		display: block;
		width: 100%;
		margin-bottom: 50px
	}

	#description .mores {
		width: 50%
	}

	#description .mores .more:last-child {
		display: none
	}
}

@media (min-width:1025px) {
	.description-body.en,.description-body.ja {
		display: block!important
	}
}

@media (min-width:1556px) {
	#content .project-group .category,#content .project-group .project,.column,.profile #content .en .portrait,.side-menu {
		width: 215px
	}
}

@media (max-width:1556px) {
	#content .project-group .category,#content .project-group .project,.column,.profile #content .en .portrait,.side-menu {
		width: 275px
	}
}

#images .image a,#images .image iframe,#images .image img {
	width: 100%;
	height: 100%
}

#images {
	position: relative
}

#images .image,#images .image a {
	display: block
}

#images .image img {
	line-height: 1.1em;
	background-color: #f5f5f5
}

#images .image .name {
	left: 0;
	bottom: -20px;
	display: block;
	height: 1.1em;
	text-overflow: ellipsis
}

#detail-content {
	margin-top: 70px;
	margin-left: 80px;
	margin-right: 80px;
	width: auto
}

#detail-content #cover {
	position: relative;
	margin-bottom: 70px;
	text-align: center
}

#detail-content #cover .cover-title {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
	font-size: 60px;
	line-height: 1.2em;
	margin-bottom: 20px;
	letter-spacing: .1em
}

#detail-content #cover .year {
	font-family:"microsoft yahei",Arial,Verdana,sans-serif;
	font-size: 12px;
	margin-bottom: 32px
}

#detail-content #cover .cover-number {
	font-size: 12px;
	margin-bottom: 41px
}

#detail-content #cover .cover-info {
	font-size: 12px
}

#detail-content #cover.text {
	margin-top: 150px;
	margin-bottom: 150px
}

.category #detail-content #cover .cover-title {
	margin-bottom: 43px
}
/*# sourceMappingURL=main.css.map */

.logo{width:86px;height: 130px;margin-bottom:20px;background: url(../images/logo.png) 0 0 no-repeat;}

/* 案例 */
.case li{width: 450px; float: left; margin-right: 4px;margin-bottom: 40px; display: inline;}
.case li h2{overflow: hidden; text-overflow:ellipsis; white-space:nowrap; font-size: 12px;}