body{
	background:#454643;
}
#container{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.inner{
	width: 80%;
	max-width: 900px;
	min-width: 800px;
	margin: 0 auto;
}
html,body,#container {
	height: 100%;
}
header{
	background:#454643;
	position: fixed;
	width: 100%;
}
#contact header{
	position: relative;
}

main{
	flex: 1;
}
nav{
	color: #ffffff;
	height: 78px;
	position: relative;
	bottom: 0;
	width: 100%;
	font-size: 1.125rem;
}
#logo{
	position: absolute;
	left: 54px;
	bottom: 14px;
	width: 105px;
	height: 47px;
	z-index: 100;
	opacity: 1;
	background:#454643;
}
#container .nav-item a{
	color: #dcdcdc;
}
#container .nav-item.activelink a{
	color: #ffffff;
}
h1{
	font-size: 1.4375rem;
	text-align: center;
}
h1 img{
	height: 38px;
	width: auto;
	display: block;
	margin: 26px auto 86px auto;
}
.more{
	margin: 30px auto 60px auto;
	position:relative ;
	height: 26px;
}
.more a{
	position: absolute;
	left: 0;
	font-size: 1.125rem;
	display: block;
	width: 178px;
	height: 26px;
	text-align: right;
}
.more a::after {
	position: absolute;
	content:"";
	display: inline-block;
	width: 178px;
	height: 14px;
	border-bottom: 1px solid #ffffff;
	border-left: 1px solid #ffffff;
	transform: skew(135deg);
	right: -8px;
	bottom: 0;
	transition: 0.4s;
}
.more a:hover::after {
	width: 120%;
}
.row2,
.row3,
.row4{
	flex-direction: row;
}
/* お問い合わせ CONTACT ======================*/
#formbox{
	width: 100%;
}
#formbox .row{
	margin-top: 10px;
	display: flex;
	width: 100%;
	background :#585956;
	justify-content: start;
}
#formbox .labelcell,
#formbox .inputcell{
	background :#585956;
	padding: 28px 50px;
}
#formbox .labelcell{
	width: 24%;
	padding-right: 0;
}
#formbox .inputcell{
	width: 76%;
	padding-left: 20px;
}
#formbox .labelcell.wide{
	width: 26%;
}

#formbox .labelcell span.icon_req{
	font-size: 0.875rem;
	margin-left: 1em;
}
p.msg{
	display: none;
}
input[type="text"],
input[type="tel"],
input[type="email"] {
	height: 34px;
	line-height: 20px;
	font-size: 1rem;
	padding: 3px;
	width: 100%;
}
.error input,
.error input,
.error textarea{
	background: #FFE4E4;
}
.error p.msg{
	display: block;
}
#formbox div.row:has( .error ){
	border: 2px solid #dadad9;
}
textarea{
	font-size: 1rem;
	padding: 3px;
	width: 100%;
}
input#post_zip{
	width: 10em;
	margin-bottom :10px;
}
.inputcell label{
	margin-right: 0.4em;
	line-height: 34px;
}
a.btn{
	display: block;
	width: 60%;
	height: 60px;
	line-height: 60px;
	color: #ffffff;
	background: #61625F;
	cursor: pointer;
	font-size: 1.5rem;
	margin: 60px auto;
	text-align: center;
	transition: 0.4s;
}
a.btn:hover,
a.btn:visited{
	opacity: 0.6;
}
input:focus, select:focus, textarea:focus {
	outline: 2px solid #454643;
}
.thanks{
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-bottom :100px;
}
.thanks h2,
.thanks p{
	margin-bottom: 1em;
}
.okuduke{
	border-top: 1px solid #dddddd;
	border-bottom: 1px solid #dddddd;
	padding : 20px 30px;
	width: 40%;
	margin: 50px auto;
}
.okuduke span{
	font-size: 1.8rem;
	font-family: 'EB Garamond', "YakuHanMP_Noto", 'Noto Serif JP', serif;
}
/* プロジェクト PROJECT ======================*/
#project_top {
	background: #1B1D1C;
	height: 100%;
}
#project_top h1,
#gallery_top h1,
#gooddesign h1{
	margin-top: 160px;
}
/* ギャラリー GALLERY ======================*/
#gallery_top{
	background: #1B1D1C;
	height: 100%;
    background: url(/shared/img/bg_stripes_g.gif) repeat top center;
}
#gallery.row4{
	flex-wrap: wrap;
}
.inner820{
	width: 82%;
}
.inner875 {
	width: 87.5%;
}
.inner890{
	width: 89%;
}
.row2 div,
.column2 div,
.row3 div,
.row4 div{
	position: relative;
}
.row2 img,
.column2 img,
.row3 img,
.row4 img{
	width: 100%;
	height: auto;
}
.row3,
.row4 {
	flex-wrap: wrap;
}
.row3 div{
	width: 33.333%;
}
.row4 li{
	width: 25%;
}

/* プロジェクト PROJECT ======================*/
.project_thumb{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 0 -2.71% ;
}
.project_thumb li{
	margin: 0 2.71% 40px 2.71%;
	width: calc( ( 100% - 21.68% ) / 4 );
	color: #d9d9d8;
}
.project_thumb li a{
	display: inline-block;
}
.project_thumb li img{
	width: 100%;
	height: auto;
}
#project .more{
	padding-bottom: 88px;
}
/* gallery系 */
ul#gallery{
	justify-content: center;
}
#gallery li{
	margin-right: 2.71%;
	margin-bottom: 2.71%;
	width: calc( ( 100% - ( 2.71% * 3 ) ) / 4 );
}
#gallery li:nth-of-type(4n){
	margin-right: 0;
}
/* グッドデザイン GOOD DESIGN ======================*/
#gooddesign{
	height: 100%;
	background: url(/shared/img/bg_stripes_g.gif) repeat top center;
    /* 
	background: #454643;
	color: #1b1d1c; */
}
#gooddesign h1 img{
	height: 54px;
	margin: 26px auto 86px auto;
}
#gooddesign h2{
	margin-top: -10px;
	margin-bottom: 80px;
	font-weight: normal;
	line-height: 2.2;
	letter-spacing: 0.1em;
	font-size: 1.375rem;
}
#gooddesign #gallery{
	justify-content: start;
}
#gooddesign #gallery p{
	text-align: right;
	margin-top: 0.25em;
}
#gooddesign #gallery p.year{
	font-size: 2.4rem;
	text-indent: 0;
	text-align: left;
	margin-bottom: 0.1em;
}
#gooddesign #gallery .year.new{
	text-indent: 0;
}