@charset "UTF-8";
@font-face {
	font-family: "ヒラギノ角ゴ";
	font-weight: 100;

	src: local("ヒラギノ角ゴ Pro W3"), local("ヒラギノ角ゴ ProN W3");
}
@font-face {
	font-family: "ヒラギノ角ゴ";
	font-weight: 200;

	src: local("ヒラギノ角ゴ Pro W3"), local("ヒラギノ角ゴ ProN W3");
}
@font-face {
	font-family: "ヒラギノ角ゴ";
	font-weight: 300;

	src: local("ヒラギノ角ゴ Pro W3"), local("ヒラギノ角ゴ ProN W3");
}
@font-face {
	font-family: "ヒラギノ角ゴ";
	font-weight: 400;

	src: local("ヒラギノ角ゴ Pro W3"), local("ヒラギノ角ゴ ProN W3");
}
@font-face {
	font-family: "ヒラギノ角ゴ";
	font-weight: bold;

	src: local("ヒラギノ角ゴ Pro W6"), local("ヒラギノ角ゴ ProN W6"), local("ヒラギノ角ゴ Pro W5") local("ヒラギノ角ゴ ProN W5");
}
html, body, body * {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;

	-webkit-backface-visibility: hidden;
	   -moz-backface-visibility: hidden;
	    -ms-backface-visibility: hidden;
	        backface-visibility: hidden;
}
body *:before, body *:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;

	-webkit-backface-visibility: hidden;
	   -moz-backface-visibility: hidden;
	    -ms-backface-visibility: hidden;
	        backface-visibility: hidden;
}
article, aside, details, figcaption, figure, main, footer, header, hgroup, menu, nav, section, form {
	display: block;
}
body {
	position: absolute;
	min-width: 100%;
	min-height: 100%;
	padding-bottom: 54px;
	font-family: "ヒラギノ角ゴ", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", Osaka, "MS PGothic", arial, helvetica, sans-serif;
	font-size: 14px;
	text-align: justify;
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, q:before, blockquote:after, q:after {
	content: none;
}
table {
	border-spacing: 0;
	border-collapse: collapse;
}
input, button, textarea, select, option {
	border-radius: 0;
	background-color: rgba(255,255,255,0);
	outline: currentColor;
	color: inherit;

	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
::-ms-expand {
	display: none;
}
::-moz-selection {
	background-color: #ccc;
}
::selection {
	background-color: #ccc;
}
img {
	vertical-align: bottom;
}
a {
	color: inherit;
	text-decoration: none;
}
section {
	position: relative;
}
.inner {
	position: relative;
	width: 1000px;
	margin: 0 auto;
}
.NotoSerifJP {
	font-family: 'Noto Serif JP', serif;
}
.Rufina {
	font-family: 'Rufina', serif;
}
header {
	position: relative;
	border-bottom: 1px solid #dbdbdc;
	background-color: #fff;
}
header .logo {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 1000px;
	margin: 0 auto;
}
header .logo:after {
	display: block;
	clear: both;
	content: "";
}
header .logo > * {
	position: relative;
	z-index: 1;
	float: left;
}
header .logo h1 {
	width: 69px;
	margin-right: 30px;
	padding-top: 20px;
}
header .logo h1 a {
	-webkit-transition: opacity 0.3s;
	   -moz-transition: opacity 0.3s;
	    -ms-transition: opacity 0.3s;
	     -o-transition: opacity 0.3s;
	        transition: opacity 0.3s;
}
header .logo h1 a:hover {
	opacity: 0.7;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	    filter: alpha(opacity=70);
}
header .logo h1 img {
	width: 100%;
}
header .logo p {
	padding-top: 27px;
}
header .hover_menu {
	position: absolute;
	z-index: 1;
	top: 100%;
	left: 0;
	width: 100%;
	opacity: 0;
	color: #fff;
	text-align: center;
	-webkit-transition: opacity 0.5s, -webkit-transform 0s 0.5s;
	   -moz-transition: opacity 0.5s, -moz-transform 0s 0.5s;
	    -ms-transition: opacity 0.5s, -ms-transform 0s 0.5s;
	     -o-transition: opacity 0.5s, -o-transform 0s 0.5s;
	        transition: opacity 0.5s, transform 0s 0.5s;
	-webkit-transform: scale(0);
	   -moz-transform: scale(0);
	    -ms-transform: scale(0);
	     -o-transform: scale(0);
	        transform: scale(0);
	-webkit-transform-origin: top;
	   -moz-transform-origin: top;
	    -ms-transform-origin: top;
	     -o-transform-origin: top;
	        transform-origin: top;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	    filter: alpha(opacity=0);
}
header .hover_menu .inner {
	padding: 40px 0;
	background-color: rgba(0,0,0,0.9);
	font-size: 0;
}
header .hover_menu .inner > * {
	display: inline-block;
	font-size: 14px;
	text-align: justify;
	vertical-align: top;
}
header .hover_menu h2 {
	width: 170px;
	height: 90px;
	border-right: 1px solid #474747;
}
header .hover_menu h2 img {
	margin-bottom: 6px;
}
header .hover_menu .contain:after {
	display: block;
	clear: both;
	content: "";
}
header .hover_menu .contain .line {
	float: left;
	width: 150px;
	padding-left: 50px;
}
header .hover_menu .contain .line a {
	display: block;
	position: relative;
}
header .hover_menu .contain .line a:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 0.5em;
	height: 0.5em;
	margin-top: -0.25em;
	border-top: 1px solid;
	border-right: 1px solid;
	content: "";
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	     -o-transform: rotate(45deg);
	        transform: rotate(45deg);
}
header .hover_menu .contain .line a + a {
	margin-top: 24px;
}
header > .inner {
	position: relative;
	padding: 62px 0 20px;
}
header > .inner:after {
	display: block;
	clear: both;
	content: "";
}
header > .inner nav {
	float: right;
}
header > .inner nav > ul:after {
	display: block;
	clear: both;
	content: "";
}
header > .inner nav > ul > li {
	float: left;
	height: 17px;
	padding: 1.5px 0;
}
header > .inner nav > ul > li >a, header > .inner nav > ul > li > div:first-child {
	display: block;
	padding: 0 22px;
}
header > .inner nav > ul > li a {
	text-indent: 0.075em;
	letter-spacing: 0.075em;
}
header > .inner nav > ul > li a:hover {
	text-decoration: underline;
}
header > .inner nav > ul > li > div:first-child {
	position: relative;
	cursor: pointer;
	-webkit-transition: padding-bottom 0s 1s;
	   -moz-transition: padding-bottom 0s 1s;
	    -ms-transition: padding-bottom 0s 1s;
	     -o-transition: padding-bottom 0s 1s;
	        transition: padding-bottom 0s 1s;
}
header > .inner nav > ul > li > div:first-child:hover {
	text-decoration: underline;
}
header > .inner nav > ul > li > div:first-child:after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -7px;
	border-width: 0 7px 12.1px 7px;
	border-style: solid;
	border-color: transparent transparent rgba(0,0,0,0.9) transparent;
	opacity: 0;
	content: "";
	-webkit-transition: opacity 0.5s, -webkit-transform 0s 0.5s;
	   -moz-transition: opacity 0.5s, -moz-transform 0s 0.5s;
	    -ms-transition: opacity 0.5s, -ms-transform 0s 0.5s;
	     -o-transition: opacity 0.5s, -o-transform 0s 0.5s;
	        transition: opacity 0.5s, transform 0s 0.5s;
	-webkit-transform: scale(0);
	   -moz-transform: scale(0);
	    -ms-transform: scale(0);
	     -o-transform: scale(0);
	        transform: scale(0);
	-webkit-transform-origin: top;
	   -moz-transform-origin: top;
	    -ms-transform-origin: top;
	     -o-transform-origin: top;
	        transform-origin: top;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	    filter: alpha(opacity=0);
}
header > .inner nav > ul > li +li {
	border-left: 1px solid #ccc;
}
header > .inner nav > ul > li.current > div:first-child {
	padding-bottom: 21.5px;
	text-decoration: underline;
	-webkit-transition: padding-bottom 0s 0s;
	   -moz-transition: padding-bottom 0s 0s;
	    -ms-transition: padding-bottom 0s 0s;
	     -o-transition: padding-bottom 0s 0s;
	        transition: padding-bottom 0s 0s;
}
header > .inner nav > ul > li.current > div:first-child:after {
	opacity: 1;
	-webkit-transition: opacity 0.5s 0s, -webkit-transform 0s 0s;
	   -moz-transition: opacity 0.5s 0s, -moz-transform 0s 0s;
	    -ms-transition: opacity 0.5s 0s, -ms-transform 0s 0s;
	     -o-transition: opacity 0.5s 0s, -o-transform 0s 0s;
	        transition: opacity 0.5s 0s, transform 0s 0s;
	-webkit-transform: scale(1);
	   -moz-transform: scale(1);
	    -ms-transform: scale(1);
	     -o-transform: scale(1);
	        transform: scale(1);

	-ms-filter: none;
	    filter: none;
}
header > .inner nav > ul > li.current .hover_menu {
	z-index: 2;
	opacity: 1;
	-webkit-transition: opacity 0.5s 0s, -webkit-transform 0s 0s;
	   -moz-transition: opacity 0.5s 0s, -moz-transform 0s 0s;
	    -ms-transition: opacity 0.5s 0s, -ms-transform 0s 0s;
	     -o-transition: opacity 0.5s 0s, -o-transform 0s 0s;
	        transition: opacity 0.5s 0s, transform 0s 0s;
	-webkit-transform: scale(1);
	   -moz-transform: scale(1);
	    -ms-transform: scale(1);
	     -o-transform: scale(1);
	        transform: scale(1);

	-ms-filter: none;
	    filter: none;
}
footer {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #000;
}
footer .inner {
	padding: 20px 0;
	text-align: center;
}
body#home header {
	border-bottom: none;
}
body#home header .logo {
	z-index: 1;
	top: 0;
	right: auto;
	left: 0;
	width: 240px;
	padding: 37px 0 22px;
	background-color: #fff;
	text-align: center;
}
body#home header .logo > * {
	float: none;
}
body#home header .logo h1 {
	width: auto;
	margin-right: 0;
	margin-bottom: 38px;
	padding-top: 0;
}
body#home header .logo h1 img {
	width: auto;
}
body#home header .logo p {
	padding-top: 0;
}
body#home ul#mainVisual {
	overflow: hidden;
	min-width: 1200px;
	width: 100%;
	height: 714px;
}
body#home ul#mainVisual:after {
	display: block;
	clear: both;
	content: "";
}
body#home ul#mainVisual li {
	float: left;
	width: 100%;
	height: 100%;
	background-position: center;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
	        background-size: cover;
}
body#home #lead .lead_inner {
	width: 1120px;
	margin: 0 auto;
	border-bottom: 1px solid #ccc;
	text-align: center;
}
body#home #lead .textContain {
	display: inline-block;
	padding: 100px 0;
	text-align: justify;
	vertical-align: bottom;
	white-space: nowrap;
	    -ms-writing-mode: vertical-rl;

	-webkit-writing-mode: vertical-rl;
	        writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
body#home #lead .textContain h2 {
	margin-left: 45px;
	font-size: 24px;
	font-weight: bold;
	line-height: 50px;
	letter-spacing: 0.125em;
}
body#home #lead .textContain p {
	line-height: 40px;
	letter-spacing: 0.1em;
}
body#home #project .lead {
	width: 1120px;
	margin: 0 auto;
	padding: 80px 0 60px;
}
body#home #project .lead:after {
	display: block;
	clear: both;
	content: "";
}
body#home #project .lead h2 {
	text-align: center;
}
body#home #project .lead h2 div {
	margin-bottom: 16px;
	font-size: 24px;
	font-weight: bold;
	text-indent: 0.125em;
	letter-spacing: 0.125em;
}
body#home #project .lead .project_list {
	position: relative;
	float: right;
	margin-top: -1em;
	padding-right: 1.5em;
	letter-spacing: 0.125em;
}
body#home #project .lead .project_list:hover {
	text-decoration: underline;
}
body#home #project .lead .project_list:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 0.5em;
	height: 0.5em;
	margin-top: -0.25em;
	border-top: 1px solid;
	border-right: 1px solid;
	content: "";
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	     -o-transform: rotate(45deg);
	        transform: rotate(45deg);
}
body#home #project .project_inner {
	width: 1200px;
	margin: 0 auto;
}
body#home #project .project_inner:after {
	display: block;
	clear: both;
	content: "";
}
body#home #project .project_inner ul li {
	overflow: hidden;
	position: relative;
	float: left;
	width: 50%;
	height: 130px;

	-webkit-perspective: 100px;
	   -moz-perspective: 100px;
	    -ms-perspective: 100px;
	        perspective: 100px;
}
body#home #project .project_inner ul li:nth-of-type(odd) {
	border-right: 1px solid #999;
}
body#home #project .project_inner ul li:nth-of-type(2) ~ li {
	border-top: 1px solid #999;
}
body#home #project .project_inner ul li > * {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
body#home #project .project_inner ul li .bg {
	position: relative;
}
body#home #project .project_inner ul li .bg:after {
	display: block;
	clear: both;
	content: "";
}
body#home #project .project_inner ul li .bg:before {
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.38);
	content: "";

	mix-blend-mode: multiply;
}
body#home #project .project_inner ul li .bg > div {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	-webkit-transition: opacity 1s;
	   -moz-transition: opacity 1s;
	    -ms-transition: opacity 1s;
	     -o-transition: opacity 1s;
	        transition: opacity 1s;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	    filter: alpha(opacity=0);
}
body#home #project .project_inner ul li .bg > div.current {
	opacity: 1;

	-ms-filter: none;
	    filter: none;
}
body#home #project .project_inner ul li .bg > div > * {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
	        background-size: cover;
	-webkit-transition: opacity 0.5s, width 0.5s, height 0.5s;
	   -moz-transition: opacity 0.5s, width 0.5s, height 0.5s;
	    -ms-transition: opacity 0.5s, width 0.5s, height 0.5s;
	     -o-transition: opacity 0.5s, width 0.5s, height 0.5s;
	        transition: opacity 0.5s, width 0.5s, height 0.5s;
	-webkit-transform: translate(-50%, -50%);
	   -moz-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	     -o-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}
body#home #project .project_inner ul li .bg > div .color {
	opacity: 0;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	    filter: alpha(opacity=0);
}
body#home #project .project_inner ul li a {
	display: block;
	z-index: 1;
	font-size: 0;
}
body#home #project .project_inner ul li a div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-background-size: 100%;
	   -moz-background-size: 100%;
	        background-size: 100%;
}
body#home #project .project_inner ul li:hover .bg > div > * {
	width: 105%;
	height: 105%;
}
body#home #project .project_inner ul li:hover .bg > div .color {
	opacity: 1;

	-ms-filter: none;
	    filter: none;
}
body#home #recent {
	padding: 140px 0;
}
body#home #recent .recent {
	position: relative;
}
body#home #recent .recent:after {
	display: block;
	clear: both;
	content: "";
}
body#home #recent .recent + .recent {
	margin-top: 100px;
}
body#home #recent .recent .head {
	position: absolute;
	top: 0;
	left: 0;
	width: 167px;
	height: 100%;
	padding-right: 65px;
	border-right: 1px solid #c9c9c9;
}
body#home #recent .recent .head h2:after {
	display: block;
	clear: both;
	content: "";
}
body#home #recent .recent .head h2 > * {
	float: right;
}
body#home #recent .recent .head h2 div {
	font-size: 24px;
	font-weight: bold;
	white-space: nowrap;
	letter-spacing: 0.125em;
	    -ms-writing-mode: vertical-rl;

	-webkit-writing-mode: vertical-rl;
	        writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
body#home #recent .recent .head h2 img {
	margin-right: 18px;
}
body#home #recent .recent .head a {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 1em 1px 0;
	font-size: 12px;
	letter-spacing: 0.05em;
}
body#home #recent .recent .head a:hover {
	text-decoration: underline;
}
body#home #recent .recent .head a:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 0.5em;
	height: 0.5em;
	margin-top: -0.25em;
	border-top: 1px solid;
	border-right: 1px solid;
	content: "";
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	     -o-transform: rotate(45deg);
	        transform: rotate(45deg);
}
body#home #recent .recent .list {
	position: relative;
	float: right;
	width: 772px;
	padding: 0 41px;
}
body#home #recent .recent .list .btns button {
	position: absolute;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	font-size: 0;
	cursor: pointer;
	-webkit-transition: opacity 0.5s, margin-left 0.1s, margin-right 0.1s;
	   -moz-transition: opacity 0.5s, margin-left 0.1s, margin-right 0.1s;
	    -ms-transition: opacity 0.5s, margin-left 0.1s, margin-right 0.1s;
	     -o-transition: opacity 0.5s, margin-left 0.1s, margin-right 0.1s;
	        transition: opacity 0.5s, margin-left 0.1s, margin-right 0.1s;
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	     -o-transform: rotate(45deg);
	        transform: rotate(45deg);
}
body#home #recent .recent .list .btns button.slick-disabled {
	opacity: 0;
	cursor: auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	    filter: alpha(opacity=0);
}
body#home #recent .recent .list .btns button.slick-next {
	right: 0;
	border-top: 1px solid;
	border-right: 1px solid;
}
body#home #recent .recent .list .btns button.slick-next:hover {
	margin-right: -5px;
}
body#home #recent .recent .list .btns button.slick-prev {
	left: 0;
	border-bottom: 1px solid;
	border-left: 1px solid;
}
body#home #recent .recent .list .btns button.slick-prev:hover {
	margin-left: -5px;
}
body#home #recent .recent .list ul {
	overflow: hidden;
	font-size: 0;
	white-space: nowrap;
}
body#home #recent .recent .list ul li {
	display: inline-block;
	width: 230px;
	padding: 0 15px;
	font-size: 14px;
	vertical-align: top;
	white-space: normal;
}
body#home #recent .recent .list ul li a, body#home #recent .recent .list ul li .face {
	outline: none;
}
body#home #recent .recent .list ul li a:hover p, body#home #recent .recent .list ul li .face:hover p {
	text-decoration: underline;
}
body#home #recent .recent .list ul li a:hover img, body#home #recent .recent .list ul li .face:hover img {
	opacity: 0.7;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	    filter: alpha(opacity=70);
}
body#home #recent .recent .list ul li .thumbnail {
	text-align: center;
}
body#home #recent .recent .list ul li .thumbnail img {
	max-width: 100%;
	max-height: 100%;
}
body#home #recent .recent .list ul li .attr time {
	display: block;
	padding: 16px 0 10px;
	border-bottom: 1px solid;
	color: #777;
	font-size: 12px;
}
body#home #recent .recent .list ul li .attr p {
	padding-top: 0.5em;
	line-height: 20px;
	letter-spacing: 0.1em;
}
body#home #recent .recent#news .thumbnail {
	width: 100%;
	height: 130px;
}
body#home #recent .recent#media .thumbnail {
	width: 100%;
	height: 180px;
}
body#home #twin .twin_inner {
	width: 1200px;
	margin: 0 auto;
}
body#home #twin .twin_inner:after {
	display: block;
	clear: both;
	content: "";
}
body#home #twin .twin_inner a {
	display: block;
	overflow: hidden;
	position: relative;
	float: left;
	width: 50%;
}
body#home #twin .twin_inner a:nth-of-type(odd) {
	border-right: 1px solid #999;
}
body#home #twin .twin_inner a .photo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	-webkit-transition: width 0.5s, height 0.5s;
	   -moz-transition: width 0.5s, height 0.5s;
	    -ms-transition: width 0.5s, height 0.5s;
	     -o-transition: width 0.5s, height 0.5s;
	        transition: width 0.5s, height 0.5s;
	-webkit-transform: translate(-50%, -50%);
	   -moz-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	     -o-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}
body#home #twin .twin_inner a .photo img {
	width: 100%;
}
body#home #twin .twin_inner a .photo:after {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0);
	content: "";
	-webkit-transition: background-color 0.5s;
	   -moz-transition: background-color 0.5s;
	    -ms-transition: background-color 0.5s;
	     -o-transition: background-color 0.5s;
	        transition: background-color 0.5s;
}
body#home #twin .twin_inner a .text {
	position: relative;
}
body#home #twin .twin_inner a:hover .photo {
	width: 105%;
	height: 105%;
}
body#home #twin .twin_inner a:hover .photo:after {
	background-color: rgba(0,0,0,0.5);
}
body#home #address .lead {
	width: 1200px;
	margin: 0 auto;
	padding: 80px 0 0;
}
body#home #address .lead:after {
	display: block;
	clear: both;
	content: "";
}
body#home #address .lead h2 {
	font-size: 24px;
	font-weight: bold;
	text-indent: 0.125em;
	text-align: center;
	letter-spacing: 0.125em;
}
body#home #address .lead a {
	display: block;
	float: right;
	margin: -1em 42px 0 0;
}
body#home #address .lead a[target="_blank"]:before {
	display: inline-block;
	max-height: 0.785714285714286em;
	margin-right: 0.5em;
	vertical-align: baseline;
	content: url("../images/target_blank.png");
}
body#home #address .lead a:hover {
	text-decoration: underline;
}
body#home #address #map {
	height: 450px;
}
body#home #address .address_access {
	padding: 40px 0 140px;
	font-size: 0;
	text-align: center;
}
body#home #address .address_access > * {
	display: inline-block;
	width: 360px;
	font-size: 14px;
	text-align: justify;
	line-height: 30px;
	letter-spacing: 0.1em;
}
body#home #address .address_access .access {
	padding-left: 35px;
}
body.company main, body.business main, body.feelings main, body#recruit main, body.contact main {
	padding-bottom: 30px;
	font-size: 12px;
	line-height: 2em;
}
body.company main .inner, body.business main .inner, body.feelings main .inner, body#recruit main .inner, body.contact main .inner {
	width: 782px;
}
body.company main *, body.business main *, body.feelings main *, body#recruit main *, body.contact main * {
	-webkit-box-sizing: content-box;
	   -moz-box-sizing: content-box;
	        box-sizing: content-box;
}
body.company main .clearfix:after, body.business main .clearfix:after, body.feelings main .clearfix:after, body#recruit main .clearfix:after, body.contact main .clearfix:after {
	display: block;
	clear: both;
	content: "";
}
body.company .content_haeder ul, body.business .content_haeder ul, body.feelings .content_haeder ul {
	float: right;
	height: 40px;
}
body.company .content_haeder ul li, body.business .content_haeder ul li, body.feelings .content_haeder ul li {
	list-style-type: none;
	float: left;
	text-indent: -9999px;
}
body.company .content_haeder ul li a, body.business .content_haeder ul li a, body.feelings .content_haeder ul li a {
	display: block;
	position: relative;
	width: 91px;
	height: 35px;
	margin-top: 5px;
	margin-left: -1px;
	border-top: 1px solid #999;
	border-right: 1px solid #999;
	border-left: 1px solid #999;
	background-color: #ccc;
	background-position: bottom;
}
body.company .content_haeder ul li a:hover, body.business .content_haeder ul li a:hover, body.feelings .content_haeder ul li a:hover, body.company .content_haeder ul li a.current, body.business .content_haeder ul li a.current, body.feelings .content_haeder ul li a.current {
	display: block;
	top: -5px;
	height: 40px;
	border-top-color: #999;
	border-right-color: #999;
	border-left-color: #999;
	background-color: #fff;
}
body.company .content_haeder {
	width: 782px;
	padding-top: 44px;
}
body.company .tit_comnavi {
	float: left;
	width: 321px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #999;
}
body.company #company_navi {
	width: 461px;
	padding-top: 20px;
}
body.company #company_navi #comnavi_profile a {
	background-image: url("../images/company/comnavi_profile.gif");
}
body.company #company_navi #comnavi_corporatephilosophy a {
	background-image: url("../images/company/comnavi_corporatephilosophy.gif");
}
body.company #company_navi #comnavi_history a {
	background-image: url("../images/company/comnavi_history.gif");
}
body.company #company_navi #comnavi_access a {
	background-image: url("../images/company/comnavi_access.gif");
}
body.company #company_navi #comnavi_mainclient a {
	background-image: url("../images/company/comnavi_mainclient.gif");
}
body#profile .tit_comnavi {
	height: 60px;
	padding-bottom: 0px;
}
body#profile #profile_main {
	margin-top: 20px;
}
body#profile #profile_text {
	margin-top: 20px;
}
body#profile #profile_box {
	margin-top: 30px;
	margin-bottom: 30px;
	font-size: 12px;
}
body#profile #profile_title {
	float: left;
	width: 91px;
	padding-right: 20px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #999;
	text-align: right;
}
body#profile #profile_title p {
	padding-top: 10px;
}
body#profile #profile_contents {
	float: right;
	width: 650px;
	padding-left: 20px;
}
body#profile #profile_contents p {
	padding-top: 10px;
}
body#corporatephilosophy .tit_comnavi {
	height: 50px;
	padding-top: 10px;
}
body#corporatephilosophy #corporatephilosophy_contents {
	width: 782px;
	margin: 100px 0;
	text-align: center;
}
body#history .tit_comnavi {
	height: 60px;
	padding-bottom: 0px;
}
body#history #history_box {
	font-size: 12px;
}
body#history #history_month {
	float: left;
	width: 171px;
	padding-right: 20px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #999;
	text-align: right;
}
body#history #history_month p {
	padding-top: 10px;
}
body#history #history_month .history_year {
	font-weight: bold;
	font-size: 28px;
}
body#history #history_contents {
	float: right;
	width: 570px;
	padding-bottom: 50px;
	padding-left: 20px;
}
body#history #history_contents p {
	padding-top: 10px;
}
body#history .history_year {
	height: 20px;
	margin: 10px 0;
}
body#history #iso {
	clear: both;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}
body#access .tit_comnavi {
	height: 60px;
	padding-bottom: 0px;
}
body#access #access_map {
	width: 232px;
	height: 116px;
	margin-top: 30px;
	margin-bottom: 30px;
	padding-top: 390px;
	padding-left: 550px;
	background-image: url("..../images/access_map.jpg");
	background-repeat: no-repeat;
}
body#access #map {
	height: 500px;
	margin-top: 20px;
}
body#access .content_haeder + p {
	margin-top: 2em;
}
body#access .content_haeder + p a.map {
	text-decoration: underline;
}
body#access .content_haeder + p a.map:hover {
	opacity: 0.6;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	    filter: alpha(opacity=60);
}
body#mainclient .tit_comnavi {
	height: 60px;
	padding-bottom: 0px;
}
body#mainclient #mainclient_contents {
	width: 782px;
	margin: 100px 0;
	text-align: center;
	font-weight: bold;
}
body#mainclient #mainclient_contents dl {
	line-height: 3;
}
body#mainclient #mainclient_contents dl + dl {
	margin-top: 30px;
}
body#mainclient #mainclient_contents dt {
	font-size: 16px;
	letter-spacing: .1em;
	padding-left: .1em;
}
body#mainclient #mainclient_contents dd {
	font-size: 12px;
	letter-spacing: .25em;
	padding-left: .25em;
}
body.business .content_haeder {
	padding-top: 15px;
}
body.business .tit_bguidance_navi {
	float: left;
	width: 506px;
	height: 30px;
	padding-top: 30px;
	padding-bottom: 29px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #999;
}
body.business .navi_bguidance_bottom {
	text-align: center;
}
body.business .navi_bguidance_bottom a:hover img {
	opacity: 0.6;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	    filter: alpha(opacity=60);
}
body.business #bguidance_navi {
	width: 276px;
	padding-top: 49px;
}
body.business #bguidance_navi #biznavi_bguidance a {
	background-image: url("../images/business/biznavi_bguidance.gif");
}
body.business #bguidance_navi #biznavi_item a {
	background-image: url("../images/business/biznavi_bguidance_item.gif");
}
body.business #bguidance_navi #biznavi_list a {
	background-image: url("../images/business/biznavi_bguidance_list.gif");
}
body#bguidance .content_haeder {
	width: 782px;
}
body#bguidance #bguidance_contents {
	margin: 70px 0 100px 0;
	text-align: center;
}
body#bguidance_item .content_haeder .tit_bguidance_navi {
	width: 724px;
}
body#bguidance_item main {
	padding-bottom: 80px;
}
body#bguidance_item main .inner {
	width: 1000px;
}
body#bguidance_item #bguidance_container {
	margin-bottom: 110px;
	padding-top: 60px;
}
body#bguidance_item #bguidance_container > div {
	width: 460px;
}
body#bguidance_item #bguidance_container > div .tit_bguidance_list {
	height: 70px;
	margin-bottom: 45px;
	border-bottom: 25px solid #777;
}
body#bguidance_item #bguidance_container > div .list li {
	font-weight: bold;
	line-height: 20px;
}
body#bguidance_item #bguidance_container > div .list li + li {
	margin-top: 20px;
}
body#bguidance_item #bguidance_container > div .list li div {
	font-size: 16px;
}
body#bguidance_item #bguidance_container > div .list li div span {
	font-size: 14px;
	text-indent: -0.5em;
	white-space: nowrap;
	letter-spacing: -0.01em;
}
body#bguidance_item #bguidance_container > div .list li > span {
	color: #777;
	font-size: 12px;
}
body#bguidance_item #bguidance_box_l {
	float: left;
}
body#bguidance_item #bguidance_box_l .list li {
	position: relative;
	padding-left: 35px;
}
body#bguidance_item #bguidance_box_l .list li:before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 16px;
	letter-spacing: -0.01em;
	content: attr(data-num);
}
body#bguidance_item #bguidance_box_l .list li div span {
	display: inline-block;
}
body#bguidance_item #bguidance_box_r {
	float: right;
}
body#bguidance_item #bguidance_box_r .list {
	margin-bottom: 40px;
}
body#bguidance_item #bguidance_box_r .list div span {
	display: block;
}
body#bguidance_item #bguidance_box_r .note {
	font-weight: bold;
	line-height: 20px;
}
body#bguidance_item #bguidance_box_r .note div {
	padding-left: 6em;
	font-size: 14px;
	text-indent: -6em;
	letter-spacing: -0.01em;
}
body#bguidance_item #bguidance_box_r .note span {
	color: #777;
	font-size: 12px;
}
body#bguidance_item .navi_project_margin {
	margin-right: 30px;
}
body#bguidance_list main .inner {
	width: 1000px;
}
body#bguidance_list .content_haeder {
	width: 1000px;
}
body#bguidance_list .content_haeder .tit_bguidance_navi {
	width: 724px;
}
body#bguidance_list #bguidance_container {
	padding-top: 20px;
}
body#bguidance_list #bguidance_box_l {
	list-style-type: none;
	float: left;
	width: 225px;
}
body#bguidance_list #bguidance_box_l li {
	margin-top: 30px;
}
body#bguidance_list #bguidance_box_l a:hover img {
	opacity: 0.6;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	    filter: alpha(opacity=60);
}
body#bguidance_list #bguidance_box_r {
	list-style-type: none;
	float: right;
	width: 547px;
	margin-top: 30px;
}
body#bguidance_list #bguidance_box_r li {
	float: left;
	height: 145px;
	margin-bottom: 5px;
}
body#bguidance_list #bguidance_box_r a:hover img {
	opacity: 0.8;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	    filter: alpha(opacity=80);
}
body#bguidance_list .bguidance_odd {
	margin-right: 5px;
}
body#bguidance_list .navi_bguidance_bottom {
	margin-top: 60px;
	text-align: center;
}
body#bguidance_list .navi_bguidance_bottom a:hover img {
	opacity: 0.6;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	    filter: alpha(opacity=60);
}
body.feelings .content_haeder {
	width: 782px;
	padding-top: 15px;
}
body.feelings .tit_charmnavi {
	float: left;
	width: 413px;
	height: 30px;
	padding-top: 30px;
	padding-bottom: 15px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #999;
}
body.feelings .navi_charm_bottom {
	text-align: center;
}
body.feelings .navi_charm_bottom a:hover img {
	opacity: 0.6;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	    filter: alpha(opacity=60);
}
body.feelings #charm_navi {
	float: right;
	width: 369px;
	height: 40px;
	padding-top: 35px;
}
body.feelings #charm_navi #charmnavi_iron a {
	background-image: url("../images/feelings/charmnavi_iron.gif");
}
body.feelings #charm_navi #charmnavi_stainless a {
	background-image: url("../images/feelings/charmnavi_stainless.gif");
}
body.feelings #charm_navi #charmnavi_aluminum a {
	background-image: url("../images/feelings/charmnavi_aluminum.gif");
}
body.feelings #charm_navi #charmnavi_ccmetal a {
	background-image: url("../images/feelings/charmnavi_ccmetal.gif");
}
body#iron .charm_box01 {
	margin-top: 30px;
	text-align: left;
}
body#iron .charm_box02 {
	width: 635px;
	margin-top: -30px;
	padding-left: 147px;
}
body#iron .charm_container dt {
	margin-bottom: 5px;
}
body#iron .charm_container dd {
	margin-bottom: 35px;
}
body#iron .charm_container_img {
	margin-bottom: 25px;
}
body#stainless .charm_box01 {
	margin-top: 30px;
	text-align: left;
}
body#stainless .charm_box02 {
	width: 635px;
	margin-top: 20px;
	padding-left: 147px;
}
body#stainless .charm_container dt {
	margin-bottom: 5px;
}
body#stainless .charm_container dd {
	margin-bottom: 35px;
}
body#stainless .charm_container_img {
	margin-bottom: 25px;
}
body#stainless .navi_charm_bottom {
	text-align: center;
}
body#stainless .navi_charm_bottom a:hover img {
	opacity: 0.6;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	    filter: alpha(opacity=60);
}
body#stainless .charm_bottom_navi_space {
	margin-right: 60px;
}
body#aluminum .charm_box01 {
	margin-top: 30px;
	text-align: left;
}
body#aluminum .charm_box02 {
	width: 635px;
	margin-top: 20px;
	padding-left: 147px;
}
body#aluminum .charm_container dt {
	margin-bottom: 5px;
}
body#aluminum .charm_container dd {
	margin-bottom: 35px;
}
body#aluminum .charm_container_img {
	margin-bottom: 25px;
}
body#aluminum .navi_charm_bottom {
	text-align: center;
}
body#aluminum .navi_charm_bottom a:hover img {
	opacity: 0.6;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	    filter: alpha(opacity=60);
}
body#aluminum .charm_bottom_navi_space {
	margin-right: 60px;
}
body#ccmetal .charm_box01 {
	margin-top: 30px;
	text-align: left;
}
body#ccmetal .charm_box02 {
	width: 635px;
	margin-top: 20px;
	padding-left: 147px;
}
body#ccmetal .charm_container dt {
	margin-bottom: 5px;
}
body#ccmetal .charm_container dd {
	margin-bottom: 35px;
}
body#ccmetal .charm_container_img {
	margin-bottom: 25px;
}
body#ccmetal .navi_charm_bottom {
	text-align: center;
}
body#ccmetal .navi_charm_bottom a:hover img {
	opacity: 0.6;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	    filter: alpha(opacity=60);
}
body#ccmetal .charm_bottom_navi_space {
	margin-right: 60px;
}
body#recruit main {
	line-height: 1.5;
}
body#recruit main a {
	color: #000;
}
body#recruit main h2 {
	margin: 50px 0;
}
body#recruit main .job-category {
	margin-bottom: 35px;
}
body#recruit main .job-category dt {
	margin-bottom: 3px;
}
body#recruit main #job-guide {
	margin: 60px 0 30px;
}
body#recruit main #job-guide a {
	text-decoration: underline;
}
body#recruit main #job-guide .guide-unit dt {
	display: table-cell;
	width: 144px;
	padding: 0 21px 35px;
	border-right: 1px solid #4a4a4a;
	text-align: right;
	vertical-align: top;
}
body#recruit main #job-guide .guide-unit dd {
	display: table-cell;
	padding: 0 21px 35px;
	vertical-align: top;
}
body#recruit main #job-guide .guide-unit-first-child dt, body#recruit main #job-guide .guide-unit-first-child dd {
	padding-top: 5px;
}
body#recruit main #job-guide .guide-unit-last-child dt, body#recruit main #job-guide .guide-unit-last-child dd {
	padding-bottom: 5px;
}
body#recruit #navi_recruit {
	background-image: url("../images/recruit/navi_recruit_on.gif");
}
body#recruit #navi_recruit a {
	display: block;
	width: 97px;
	height: 42px;
	margin-left: -1px;
	border-left: 1px solid #999;
	background-color: #ccc;
	background-image: url("../images/recruit/navi_recruit_on.gif");
	text-indent: -9999px;
}
body#recruit #navi_recruit a:hover {
	background: none;
}
body.archives main {
	padding: 45px 0 130px;
}
body.archives .content_haeder {
	margin-bottom: 60px;
	border-bottom: 1px solid #a3a3a3;
}
body.archives .archive_container .alm-reveal + .alm-reveal {
	margin-top: 40px;
}
body.archives .archive_container ul {
	overflow: hidden;
	font-size: 0;
}
body.archives .archive_container ul li {
	display: inline-block;
	width: 250px;
	padding: 0 25px;
	font-size: 14px;
	vertical-align: top;
	white-space: normal;
}
body.archives .archive_container ul li:nth-of-type(4) ~ li {
	margin-top: 40px;
}
body.archives .archive_container ul li a, body.archives .archive_container ul li .face {
	outline: none;
}
body.archives .archive_container ul li a:hover p, body.archives .archive_container ul li .face:hover p {
	text-decoration: underline;
}
body.archives .archive_container ul li a:hover img, body.archives .archive_container ul li .face:hover img {
	opacity: 0.7;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	    filter: alpha(opacity=70);
}
body.archives .archive_container ul li .thumbnail {
	text-align: center;
}
body.archives .archive_container ul li .thumbnail img {
	max-width: 100%;
	width: auto;
	max-height: 180px;
	height: auto;
}
body.archives .archive_container ul li .attr time {
	display: block;
	padding: 16px 0 10px;
	border-bottom: 1px solid;
	color: #777;
	font-size: 12px;
}
body.archives .archive_container ul li .attr p {
	padding-top: 0.5em;
	line-height: 20px;
	letter-spacing: 0.1em;
}
body.archives .archive_container .alm-btn-wrap {
	padding: 0 25px;
}
body.archives .archive_container .alm-btn-wrap button {
	display: block;
	width: 100%;
	margin-top: 40px;
	padding: 1em 0;
	border: 1px solid #999;
	border-radius: 3px;
	background-color: #fff;
	text-align: center;
	cursor: pointer;
	-webkit-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	   -moz-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	    -ms-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	     -o-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	        transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
body.archives .archive_container .alm-btn-wrap button + input {
	margin-left: 2em;
}
body.archives .archive_container .alm-btn-wrap button:hover, body.archives .archive_container .alm-btn-wrap button:focus {
	border-color: #000;
	background-color: #000;
	color: #fff;
}
body.archives .archive_container .alm-btn-wrap button.done {
	display: none;
}
body#project .content_haeder {
	padding-bottom: 14px;
}
body#project .project_menu {
	display: table;
	table-layout: fixed;
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 60px;
}
body#project .project_menu > a {
	display: table-cell;
	height: 60px;
	border: 1px solid #ccc;
	font-size: 12px;
	text-align: center;
	vertical-align: middle;
	line-height: 20px;
	-webkit-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	   -moz-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	    -ms-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	     -o-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	        transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
body#project .project_menu > a.current, body#project .project_menu > a:hover {
	border-color: #000;
	background-color: #000;
	color: #fff;
}
body#project .project_menu > a span {
	display: inline-block;
	margin-right: -0.25em;
}
body#project .project_container ul {
	font-size: 0;
}
body#project .project_container ul:after {
	display: block;
	clear: both;
	content: "";
}
body#project .project_container li {
	display: inline-block;
	width: 220px;
	color: #6e6e6e;
	font-size: 12px;
	vertical-align: top;
}
body#project .project_container li:after {
	display: block;
	clear: both;
	content: "";
}
body#project .project_container li:not(:nth-of-type(4n)) {
	margin-right: 40px;
}
body#project .project_container li:nth-of-type(4) ~ li {
	margin-top: 50px;
}
body#project .project_container li:first-of-type .btn.prev {
	display: none;
}
body#project .project_container li:last-of-type .btn.next {
	display: none;
}
body#project .project_container li .face {
	cursor: pointer;
}
body#project .project_container li .face .thumbnail {
	height: 220px;
	background-position: center;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
	        background-size: cover;
}
body#project .project_container li .face p {
	margin-bottom: 10px;
	padding: 1em 0;
	border-bottom: 1px solid #eee;
	line-height: 20px;
}
body#project .project_container li .modal {
	display: none;
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
body#project .project_container li .modal > div {
	position: absolute;
}
body#project .project_container li .modal .overlay {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
}
body#project .project_container li .modal .contain {
	top: 50%;
	right: 0;
	left: 0;
	width: 780px;
	margin: auto;
	-webkit-transform: translateY(-50%);
	   -moz-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	     -o-transform: translateY(-50%);
	        transform: translateY(-50%);
}
body#project .project_container li .modal .contain .content .img {
	height: 500px;
}
body#project .project_container li .modal .contain .content .img img {
	max-width: 100%;
	max-height: 100%;
}
body#project .project_container li .modal .contain .closeBtn {
	position: absolute;
	top: -45px;
	right: 0;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
body#project .project_container li .modal .contain .closeBtn:hover:before, body#project .project_container li .modal .contain .closeBtn:hover:after {
	height: 2px;
}
body#project .project_container li .modal .contain .closeBtn:before, body#project .project_container li .modal .contain .closeBtn:after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 141.42%;
	height: 1px;
	background-color: #fff;
	content: "";
}
body#project .project_container li .modal .contain .closeBtn:before {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	   -moz-transform: translate(-50%, -50%) rotate(45deg);
	    -ms-transform: translate(-50%, -50%) rotate(45deg);
	     -o-transform: translate(-50%, -50%) rotate(45deg);
	        transform: translate(-50%, -50%) rotate(45deg);
}
body#project .project_container li .modal .contain .closeBtn:after {
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	   -moz-transform: translate(-50%, -50%) rotate(-45deg);
	    -ms-transform: translate(-50%, -50%) rotate(-45deg);
	     -o-transform: translate(-50%, -50%) rotate(-45deg);
	        transform: translate(-50%, -50%) rotate(-45deg);
}
body#project .project_container li .modal .contain .btn {
	position: absolute;
	top: 50%;
	width: 30px;
	height: 30px;
	border-width: 1px;
	border-style: solid;
	border-color: transparent;
	border-top-color: #fff;
	cursor: pointer;
}
body#project .project_container li .modal .contain .btn:hover {
	border-width: 2px;
}
body#project .project_container li .modal .contain .btn.prev {
	left: -110px;
	border-left-color: #fff;
	-webkit-transform: rotate(-45deg);
	   -moz-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	     -o-transform: rotate(-45deg);
	        transform: rotate(-45deg);
	-webkit-transform-origin: top left;
	   -moz-transform-origin: top left;
	    -ms-transform-origin: top left;
	     -o-transform-origin: top left;
	        transform-origin: top left;
}
body#project .project_container li .modal .contain .btn.next {
	right: -110px;
	border-right-color: #fff;
	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	     -o-transform: rotate(45deg);
	        transform: rotate(45deg);
	-webkit-transform-origin: top right;
	   -moz-transform-origin: top right;
	    -ms-transform-origin: top right;
	     -o-transform-origin: top right;
	        transform-origin: top right;
}
body#project .project_container li .modal .contain .img {
	margin-bottom: 15px;
	text-align: center;
}
body#project .project_container li .modal .contain .img img {
	max-width: 100%;
	height: auto;
}
body#project .project_container li .modal .contain .summary {
	color: #fff;
	line-height: 20px;
}
body#project .project_container li > a {
	float: right;
	padding: 3px 1em;
	border: 1px solid #eee;
	border-radius: 20px;
	background-color: #fff;
	-webkit-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	   -moz-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	    -ms-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	     -o-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	        transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
body#project .project_container li > a:hover {
	border-color: #000;
	background-color: #000;
	color: #fff;
}
body#project_list .content_haeder {
	padding-bottom: 14px;
}
body#project_list .project_everyYear {
	padding: 20px 0;
	background-color: #f4f3ef;
}
body#project_list .project_everyYear > div {
	display: table;
	table-layout: fixed;
	width: 100%;
}
body#project_list .project_everyYear > div > * {
	display: table-cell;
}
body#project_list .project_everyYear > div h2 {
	width: 180px;
	border-right: 1px solid #c9c9c9;
	text-align: center;
	vertical-align: middle;
}
body#project_list .project_everyYear > div .list ul {
	padding: 0 15px 0 45px;
}
body#project_list .project_everyYear > div .list ul:after {
	display: block;
	clear: both;
	content: "";
}
body#project_list .project_everyYear > div .list li {
	float: left;
	width: 60px;
	text-align: center;
}
body#project_list .project_everyYear > div .list li:nth-of-type(12) ~ li {
	margin-top: 16px;
}
body#project_list .project_everyYear > div .list li a {
	color: #777;
}
body#project_list .project_everyYear > div .list li a:hover, body#project_list .project_everyYear > div .list li a.current {
	color: #000;
	font-weight: bold;
}
body#project_list .project_container {
	padding: 45px 0;
}
body#project_list .project_container ul:after {
	display: block;
	clear: both;
	content: "";
}
body#project_list .project_container ul li {
	float: left;
	padding-right: 1em;
}
body#project_list .project_container ul li.constructionsite {
	width: 190px;
}
body#project_list .project_container ul li.client {
	width: 100px;
}
body#project_list .project_container ul li.architect {
	width: 120px;
}
body#project_list .project_container ul li.generalcontractor {
	width: 130px;
}
body#project_list .project_container ul li.manufactured {
	width: 130px;
}
body#project_list .project_container ul li.material {
	width: 190px;
}
body#project_list .project_container ul li.spec {
	width: 140px;
	padding-right: 0;
}
body#project_list .project_container .list_head {
	margin-bottom: 60px;
}
body#project_list .project_container .list_head li {
	vertical-align: top;
}
body#project_list .project_container .list_head li img {
	vertical-align: top;
}
body#project_list .project_container .years li {
	min-height: 1em;
	font-size: 12px;
	letter-spacing: -0.05em;
}
body#project_list .project_container .years .year + .year {
	margin-top: 80px;
}
body#project_list .project_container .years .project {
	margin-top: 40px;
	line-height: 1.25;
}
body#project_list .project_container .years .project + .project {
	margin-top: 20px;
}
body#project_list .project_container .years .constructionsite {
	position: relative;
}
body#project_list .project_container .years .constructionsite.hasThumbnail:hover {
	font-weight: bold;
}
body#project_list .project_container .years .constructionsite.hasThumbnail:hover .balloon {
	opacity: 1;
	-webkit-transform: scale(1) translateZ(1px);
	   -moz-transform: scale(1) translateZ(1px);
	    -ms-transform: scale(1) translateZ(1px);
	     -o-transform: scale(1) translateZ(1px);
	        transform: scale(1) translateZ(1px);

	-ms-filter: none;
	    filter: none;
}
body#project_list .project_container .years .constructionsite .balloon {
	position: absolute;
	z-index: auto;
	top: 50%;
	left: 100%;
	height: 180px;
	margin-top: -90px;
	padding: 10px;
	opacity: 0;
	-webkit-box-shadow: 5px 5px 3px rgba(0,0,0,0.2);
	        box-shadow: 5px 5px 3px rgba(0,0,0,0.2);
	-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
	   -moz-transition: opacity 0.3s, -moz-transform 0.3s;
	    -ms-transition: opacity 0.3s, -ms-transform 0.3s;
	     -o-transition: opacity 0.3s, -o-transform 0.3s;
	        transition: opacity 0.3s, transform 0.3s;
	-webkit-transform: scale(0) translateZ(1px);
	   -moz-transform: scale(0) translateZ(1px);
	    -ms-transform: scale(0) translateZ(1px);
	     -o-transform: scale(0) translateZ(1px);
	        transform: scale(0) translateZ(1px);
	-webkit-transform-origin: left center;
	   -moz-transform-origin: left center;
	    -ms-transform-origin: left center;
	     -o-transform-origin: left center;
	        transform-origin: left center;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	    filter: alpha(opacity=0);
}
body#project_list .project_container .years .constructionsite .balloon img {
	position: relative;
	z-index: 1;
	width: auto;
	height: 100%;
}
body#project_list .project_container .years .constructionsite .balloon:after, body#project_list .project_container .years .constructionsite .balloon:before {
	display: block;
	position: absolute;
	content: "";
}
body#project_list .project_container .years .constructionsite .balloon:after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #f4f3ef;
}
body#project_list .project_container .years .constructionsite .balloon:before {
	top: 50%;
	left: -17px;
	width: 0;
	height: 0;
	margin-top: -10px;
	border-width: 10px 17.3px 10px 0;
	border-style: solid;
	border-color: transparent #f4f3ef transparent transparent;

	filter: drop-shadow(5px 5px 3px rgba(0,0,0,0.2));
}
body.single main {
	padding: 45px 0 130px;
}
body.single main .inner {
	width: 782px;
}
body.single article .attr time {
	display: block;
	padding: 16px 0 10px;
	color: #777;
}
body.single article .attr h2 {
	margin-bottom: 30px;
	padding-bottom: 0.5em;
	border-bottom: 1px solid;
	font-size: 20px;
	line-height: 30px;
	letter-spacing: 0.1em;
}
body.single article .content {
	margin-bottom: 40px;
	line-height: 20px;
}
body.single article .content p + p {
	margin-top: 20px;
}
body.single article .content a {
	text-decoration: underline;
}
body.single article .pager {
	font-size: 0;
	text-align: center;
}
body.single article .pager a {
	display: inline-block;
	font-size: 16px;
}
body.single article .pager a:hover {
	text-decoration: underline;
}
body.single article .pager .arrow:before, body.single article .pager .arrow:after {
	display: inline-block;
	text-decoration: none;
}
body.single article .pager .prev {
	margin-right: 3em;
}
body.single article .pager .prev:before {
	margin-right: 0.5em;
	content: "＜";
}
body.single article .pager .next {
	margin-left: 3em;
}
body.single article .pager .next:after {
	margin-left: 0.5em;
	content: "＞";
}
body#news .content_haeder {
	padding-bottom: 12px;
}
body#news .archive_container .thumbnail {
	width: 100%;
	height: 130px;
}
body#media .content_haeder {
	padding-bottom: 12px;
}
body#media .archive_container .thumbnail {
	width: 100%;
	height: 180px;
}
body#media article .content {
	text-align: center;
}
body#media article .content .thumbnail img {
	max-width: 100%;
}
body#media article .content .caption {
	display: inline-block;
	padding-top: 1em;
	text-align: justify;
}
body#media article .content .caption img {
	max-width: 100%;
	width: auto;
	height: auto;
}
body.contact main {
	padding-bottom: 100px;
}
body.contact .tit_contact {
	width: 782px;
	height: 60px;
	padding-top: 25px;
	padding-bottom: 10px;
	border-bottom: 1px solid #999;
	text-align: left;
}
body.contact .maintable {
	width: 782px;
	color: #555;
	font-size: 15px;
	text-align: left;
}
body.contact .maintable .lead {
	padding: 40px 0;
}
body.contact .maintable form {
	padding: 40px 0 30px;
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
}
body.contact .maintable {
	& input[type="text"],
	& input[type="email"],
	& input[type="tel"],
	& textarea {
		border: 1px solid #999;
		vertical-align: bottom;
	}
	& input[type="text"],
	& input[type="email"],
	& input[type="tel"] {
		width: 60%;
		padding: 0 0.25em;
	}
	textarea {
		padding: 0.25em;
	}
}
body.contact .maintable .row {
	padding-bottom: 30px;
}
body.contact .maintable .row:after {
	display: block;
	clear: both;
	content: "";
}
body.contact .maintable .row > * {
	float: left;
}
body.contact .maintable .tabletitle {
	width: 182px;
	padding-right: 10px;
	padding-left: 10px;
	font-size: 14px;
	vertical-align: top;
	line-height: 130%;
}
body.contact .maintable .tableform {
	width: 580px;
	font-size: 14px;
	vertical-align: top;
	line-height: 130%;
}
body.contact .maintable .formsubcomment {
	font-size: 12px;
}
body.contact .maintable .confirmCheck {
	padding-bottom: 30px;
	& span {
		display: block;
		margin: 0;
	}
	& label {
		display: block;
		width: fit-content;
		margin-inline: auto;
		position: relative;
		padding-left: 30px;
		cursor: pointer;
		&::before {
			display: block;
			position: absolute;
			top: 50%;
			left: 0;
			width: 20px;
			height: 20px;
			margin-top: -10px;
			border: 1px solid #999;
			border-radius: 3px;
			background-color: #fff;
			content: "";
		}
		&:has(input:checked)::after {
			display: block;
			position: absolute;
			top: 50%;
			left: 4px;
			width: 12px;
			height: 6px;
			margin-top: -5px;
			border-bottom: 2px solid #333;
			border-left: 2px solid #333;
			transform: rotate(-45deg);
			content: "";
		}
	}
	& input {
		appearance: none;
		opacity: 0;
		position: absolute;
	}
}
body.contact .maintable .submit {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
body.contact .maintable .submit input {
	padding: 4px 16px 5px;
	border: 1px solid #999;
	border-radius: 3px;
	background-color: #fff;
	line-height: 1;
	cursor: pointer;
	-webkit-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	   -moz-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	    -ms-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	     -o-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	        transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
body.contact .maintable .submit input + input {
	margin-left: 2em;
}
body.contact .maintable .submit input:hover, body.contact .maintable .submit input:focus {
	border-color: #000;
	background-color: #000;
	color: #fff;
}
body#contact .tableform span + div {
	margin-top: 1em;
}
body#contact .tableform .wpcf7-not-valid-tip {
	padding-top: 0.35em;
}
body#contact .selectbox {
	display: inline-block;
	overflow: hidden;
	position: relative;
	width: 9em;
	padding-left: 0.5em;
	border: 1px solid #999;
	border-radius: 3px;
	font-size: 12px;
	vertical-align: bottom;
}
body#contact .selectbox select {
	width: 120%;
}
body#contact .selectbox .wpcf7-not-valid-tip  {
	display: none;
}
body#contact .selectbox:before, body#contact .selectbox:after {
	display: block;
	position: absolute;
	right: 3px;
	width: 0;
	height: 0;
	border-style: solid;
	content: "";
}
body#contact .selectbox:before {
	top: 2px;
	border-width: 0 3.5px 6.1px 3.5px;
	border-color: transparent transparent #999 transparent;
}
body#contact .selectbox:after {
	bottom: 2px;
	border-width: 6.1px 3.5px 0 3.5px;
	border-color: #999 transparent transparent transparent;
}
body#contact .wpcf7-response-output{
	border: none;
	padding: 0;
	text-align: center;
	font-weight: bold;
}
body#contact_confirm .tableform span + div {
	display: none;
}
body#contact_confirm .formsubcomment {
	display: none;
}
body#contact_complete .maintable .to_home {
	text-align: center;
}
body#contact_complete .maintable .to_home a {
	display: inline-block;
	padding: 4px 16px 5px;
	border: 1px solid #999;
	border-radius: 3px;
	background-color: #fff;
	line-height: 1;
	cursor: pointer;
	-webkit-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	   -moz-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	    -ms-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	     -o-transition: color 0.3s, background-color 0.3s, border-color 0.3s;
	        transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
body#contact_complete .maintable .to_home a:hover, body#contact_complete .maintable .to_home a:focus {
	border-color: #000;
	background-color: #000;
	color: #fff;
}
body#notFound main {
	padding: 45px 0 130px;
}
body#notFound main .inner {
	width: 782px;
}
body#notFound .content_haeder {
	margin-bottom: 30px;
	padding-bottom: 12px;
	border-bottom: 1px solid #a3a3a3;
}
body#notFound .content {
	line-height: 20px;
}
