@charset "UTF-8";
/* ------------------------------------------
	BASIC STYLES
--------------------------------------------- */
* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

body,header,footer,nav,
article,section,address,aside,figure,div,
h1,h2,h3,h4,h5,h6,
p,blockquote,pre,dl,dt,dd,ol,ul,li,hr,img,
fieldset,legend,form,label,
th,td,
menu,details,summary {
	margin:0;
	padding:0;
	border:0;
}

a:active,
a:hover {
	outline:0;
}

@-webkit-viewport { width:device-width; }
@-moz-viewport { width:device-width; }
@-ms-viewport { width:device-width; }
@-o-viewport { width:device-width; }
@viewport { width:device-width; }


/* ------------------------------------------
	WAYPOINTS
--------------------------------------------- */
.wp_object01,.wp_object02,.wp_object03 {
	visibility:hidden;
}

.zoomIn,.fadeIn,
.bounceInLeft,.bounceInRight,.bounceInDown,
.fadeInUp,.fadeInUpDelay,.fadeInDown,.fadeInUpD,.fadeInLeft,.fadeInRight {
	visibility:visible
}


/* ------------------------------------------
	BODY
--------------------------------------------- */
body {
	color:#666;
	background-color:#fff;
	font-size:14px;
/*	font-family:"游明朝 Light","游明朝",YuMincho,"ヒラギノ明朝 ProN W3",Hiragino Mincho ProN,"ＭＳ Ｐ明朝",MS PMincho,Serif;*/
	font-family:'Lato','Noto Sans Japanese',"游ゴシック Light","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",MS PGothic,Sans-Serif;
	font-weight:200;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	text-size-adjust:100%;
	text-align:left;
	line-height:1.6;	/* line-heightでは単位を記載しない（px指定は例外） */
	padding-top:56px;	/* ヘッダの高さ分空ける */
}

/* article・section・div要素 */
article {
	position:relative;
/*	background-color:#000;*/
	width:96%;
	max-width:1080px;
	min-width:320px;
	margin:0 auto;
	padding-top:56px;
	padding-bottom:12px;
}

section,
address,
aside,
div {
	position:relative;
	width:100%;
	padding:0;
}

section,
address {
	margin:0 auto 36px;
}

aside,
div {
	margin:0 auto;
}


/* ------------------------------------------
	基本設定
--------------------------------------------- */
/* h1〜h4要素 */
h1 {
	color:#333;
	position:absolute;
	z-index:24;
	top:12px;
	left:12px;
	font-weight:normal;
	background-color:transparent;
	text-align:left;
	line-height:1.0;
	margin:0;
	padding:0;
}

h1 span {
	font-size:0.64em;
}

h2 {
	color:#333;
/*	font-family:"Times New Roman","游明朝 Light","游明朝",YuMincho,"ヒラギノ明朝 ProN W3",Hiragino Mincho ProN,"ＭＳ Ｐ明朝",MS PMincho,Serif;
	-webkit-text-shadow:1px 1px 1px #ddd;
	-moz-text-shadow:1px 1px 1px #ddd;
	text-shadow:1px 1px 1px #ddd;*/
	font-weight:normal;
	text-align:left;
	line-height:1.32;
	width:98%;
	margin:0 1% 8px;
}

h3 {
	color:#999;
/*	font-family:"Times New Roman","游明朝 Light","游明朝",YuMincho,"ヒラギノ明朝 ProN W3",Hiragino Mincho ProN,"ＭＳ Ｐ明朝",MS PMincho,Serif;*/
	font-weight:normal;
	line-height:1.2;
	margin-bottom:4px;
}

h4 {
	color:#333;
	font-weight:normal;
	line-height:1.2;
	margin-bottom:4px;
	padding:4px 0;
}

/* テキスト要素 */
p {
	font-style:normal;
	text-decoration:none;
	line-height:1.6;
	margin-bottom:20px;
	padding:0 12px;
}

a:link,
a:visited {
	color:#B5DCF1;
	text-decoration:none;
}

a:hover img {
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter:"alpha(opacity=80)";
}

a:active,
a:hover,
a:focus {
	color:#999;
	text-decoration:none;
}

strong {
	color:#000;
	font-style:normal;
	font-weight:bold;
	text-decoration:none;
}

em {
	color:#999;
	font-style:normal;
	font-weight:normal;
	text-decoration:none;
}

/* リスト要素 */
ol,ul,dl {
	line-height:1.6;
	margin-bottom:32px;
}

dt {
	color:#999;
	font-weight:bold;
}

/* テーブル要素 */
table {
	width:100%;
	border-collapse:separate;
	border-spacing:2px;
}

th,td {
	padding:8px;
}

th {
	color:#fff;
	background-color:#666;
	text-align:center;
	font-weight:normal;
}

td {
	border-bottom:1px solid #999;
	border-left:1px solid #999;
}

/* その他要素 */
iframe {
	border:none;
}

img {
	display:block;
	width:100%;
}

hr {
	margin-bottom:24px;
	border-top:2px solid #999;
}


/* ------------------------------------------
	サイト 限定設定
--------------------------------------------- */
section h2,section h3,section h4,section p,
section ol,section ul,section dl {
/*	color:#fff;
	-webkit-text-shadow:1px 1px 1px #000;
	-moz-text-shadow:1px 1px 1px #000;
	text-shadow:1px 1px 1px #000;*/
	margin-top:0;
	margin-right:auto;
	margin-left:auto;
}

section:after {
	content:".";
	display:block;
	visibility:hidden;
	height:0.1px;
	font-size:0.1px;
	line-height:0;
	clear:both;
}

#homeimg,#homeimg .alpha,
.topimg01,.topimg01 .alpha,.topimg02,.topimg02 .alpha,
.topimg03,.topimg03 .alpha,.topimg04,.topimg04 .alpha,
.topimg05,.topimg05 .alpha,.topimg06,.topimg06 .alpha,
.topimg07,.topimg07 .alpha,.topimg08,.topimg08 .alpha,
.topimg09,.topimg09 .alpha,.topimg10,.topimg10 .alpha
{
	position:relative;
}

#homeimg .alpha,
.topimg01 .alpha,.topimg02 .alpha,
.topimg03 .alpha,.topimg04 .alpha,
.topimg05 .alpha,.topimg06 .alpha,
.topimg07 .alpha,.topimg08 .alpha,
.topimg09 .alpha,.topimg10 .alpha
{
	background-color:rgba(0,0,0,0.4);
	width:100%;
}

.homeh1 {
	position:absolute;
	z-index:16;
	right:0;
	left:0;
	margin:0 auto;
}

.grid1,.grid2,.grid3 {
	position:relative;
	margin:4px 1% 24px;
}

.grid1 h2,.grid2 h2 {
	width:100%;
}

.grid3 {
	width:98%;
}

.more a,.view a {
	display:inline-block;
	font-size:0.8em;
	text-decoration:none;
	margin-bottom:12px;
	padding:2px 8px;
}

.more a:link,.view a:link,
.more a:visited,.view a:visited {
	color:#666;
	border:1px solid #666;
}

.more a:active,.view a:active,
.more a:hover,.view a:hover,
.more a:focus,.view a:focus {


	color:#fff;
	background-color:#666;
	border:1px solid #666;
}

.language {
	position:absolute;
	z-index:16;
	top:12px;
	right:12px;
}

.signature p {
	text-align:right;
}

.signature span {
	display:inline-block;
	padding:0 24px 12px;
}

.signature img {
	vertical-align:middle;
	display:inline-block;
	width:160px;
}


/* ------------------------------------------
	#home 限定設定
--------------------------------------------- */
#homeh1 h1 {
	position:relative;
	top:0;
	left:0;
}

#home h1 {
	position:static;
	font-weight:normal;
	text-align:left;
	line-height:1.32;
	margin-bottom:8px;
}

#home p {
	margin-bottom:16px;
}

#home #news hr,
#home #works hr {
	width:98%;
	margin:auto;
}


/* ------------------------------------------
	#news 限定設定
--------------------------------------------- */
/*
#news ul {
	display:table;
	text-align:center;
	width:100%;
	margin:0;
	padding:0;
}

#news li {
	display:table-cell;
	margin-bottom:8px;
	padding:0 8px;
	border-left:1px solid #ccc;
}
*/

#news a {
	text-decoration:none;
}

#news section img {
	margin-bottom:16px;
}


/* ------------------------------------------
	#works 限定設定
--------------------------------------------- */
#works .grid1 h2 {
	text-align:right;
	padding:0;
}

.photogrid .more a {
	position:absolute;
	z-index:16;
	top:4px;
	right:4px;
}

.photogrid .more a:link,
.photogrid .more a:visited {
	color:#fff;
	border:1px solid #fff;
}

.photogrid .more a:active,
.photogrid .more a:hover,
.photogrid .more a:focus {
	color:#666;
	background-color:#fff;
	border:1px solid #fff;
}

.photogrid p {
	font-size:0.8em;
	padding:4px 0;
}

.photogrid .more a {
	-webkit-text-shadow:0px 0px 1px #999;
	-moz-text-shadow:0px 0px 1px #999;
	text-shadow:0px 0px 1px #999;
	-webkit-box-shadow:0px 0px 0px 1px rgba(153,153,153,0.4);
	-moz-box-shadow:0px 0px 0px 1px rgba(153,153,153,0.4);
	box-shadow:0px 0px 0px 1px rgba(153,153,153,0.4);
}

.slider {
	width:98%;
}

#works_sub h3 {
	text-align:left;
	padding:0;
}

#works nav,
#works_sub nav {
	position:relative;
	width:98%;
	margin:4px 1% 12px;
}

#works nav ul,
#works_sub nav ul {
	text-align:center;
}

#works nav ul li,
#works_sub nav ul li {
	display:inline-block;
	margin:0 4px 4px;
}

#works nav ul li a,
#works_sub nav ul li a {
	display:block;
	color:#666;
	font-size:1.0em;
	line-height:20px;
	padding:2px 8px;
}

#works nav ul li a {
	border:none;
}

#works_sub nav ul li a {
	border:1px solid #666;
	box-sizing:border-box;
}

#works nav ul li a:link,
#works nav ul li a:visited,
#works_sub nav ul li a:link,
#works_sub nav ul li a:visited {
	text-decoration:none;
}

#works nav ul li a:hover,
#works nav ul li a:active {
	color:#ccc;
	border:none;
}

#works_sub nav ul li a:hover,
#works_sub nav ul li a:active {
	color:#fff;
	background-color:#666;
	border:1px solid #666;
}

#works nav ul li .sub_on {
	color:#ccc;
	border:none;
}

#works_sub nav ul li .sub_on {
	color:#fff;
	background-color:#666;
	border:1px solid #666;
}


/* ------------------------------------------
	#policy 限定設定
--------------------------------------------- */


/* ------------------------------------------
	#contact 限定設定
--------------------------------------------- */
#contact h3 {
	margin-bottom:16px;
}

#contact h3 .word {
	display:inline-block;
	white-space:nowrap;
}

#contact p {
	padding:0;
}

#contact .tac a:link,
#contact .tac a:visited {
	color:#666;
}

#contact .tac a:active,
#contact .tac a:hover,
#contact .tac a:focus {
	color:#999;
	text-decoration:none;
}


/* ------------------------------------------
	#about 限定設定
--------------------------------------------- */

/* ------------------------------------------
	.table_style 限定設定
--------------------------------------------- */
.table_style span {
	color:#E5171F;
	font-weight:normal;
}

.table_style dl {
	width:100%;
	margin:0 auto;
}

.table_style dt,.table_style dd {
	vertical-align:top;
	padding:1% 2%;
}

.table_style dt {
	color:#333;
	background-color:#ccc;
	border-bottom:1px solid #999;
	border-left:1px solid #999;
}

.table_style dd {
	border-bottom:1px solid #999;
	border-left:1px solid #999;
}


/* ------------------------------------------
	mail.php 限定設定
--------------------------------------------- */


/* ------------------------------------------
	特殊設定
--------------------------------------------- */
/* テキスト要素 */
.errortext	 {color:#E5171F;}
.fcrd		 {color:#E5171F;}
.fcgr		 {color:#019A66;}
.fcbl		 {color:#0078BA;}

.fcor		 {color:#EE7B1A;}
.fcbk		 {color:#000;}
.fcwh		 {color:#fff;}

.fs08		 {font-size:0.8em;}
.fs12		 {font-size:1.2em;}
.fs16		 {font-size:1.6em;}

.tac		 {text-align:center;}
.tar		 {text-align:right;}
.tal		 {text-align:left;}

/* リスト要素 */
.adjlist li {
	margin-left:2.4em;
}

.adjlist dt {
	margin-left:0;
}

.adjlist dd {
	margin-left:1.2em;
	margin-bottom:1.2em;
}

.dot li {
	list-style-type:disc;
}

.num li {
	list-style-type:decimal;
}

.floatlist li {
	float:left;
	margin:0 12px;
	padding:4px;
}

.ind {
	list-style-type:none;
	text-indent:-0.8em;
}

/* その他要素 */
.flr	 {float:right;}
.fll	 {float:left;}

.ilb {
	display:inline-block;
}

.boxline {
	border:1px solid #999;
}


/* ------------------------------------------
	HEADER
--------------------------------------------- */
header {
	position:fixed;
	z-index:32;
	left:0;
	top:0;
	background-color:#fff;
	width:100%;
/*	border-bottom:1px solid #999;*/
}

header section {
	width:100%;
	margin:0;
}

header div {
	background-color:#fff;	/* nav背景用（navarea） */
}

header div:after {
	content:".";
	display:block;
	visibility:hidden;
	height:0.1px;
	font-size:0.1px;
	line-height:0;
	clear:both;
}

header nav {
	background-color:#fff;	/* nav背景用（nav） */
	position:relative;
	width:100%;
/*	max-width:1200px;*/
	margin:0 auto;
}

header nav p {
	margin-bottom:0;
}


/* ------------------------------------------
	LOGO
--------------------------------------------- */
#logo {
	display:block;
	position:absolute;
	z-index:16;
	top:0;
	left:0;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	color:#fff;
	height:56px;
}

#logo img {
	width:auto;
	height:54px;
	margin:1px 4px;
}	


/* ------------------------------------------
	FOOTER
--------------------------------------------- */
footer {
	color:#fff;
	background-color:#666;
	width:100%;
	min-width:320px;
	padding:16px 0;
}

footer section {
	background-color:#666;
	position:relative;
	width:96%;
	max-width:1080px;
	margin:0 auto;
}

footer address,
footer nav,
footer div {
	margin:0;
}

footer div {
	padding:8px 16px;
}

footer h2 {
	color:#fff;
	display:inline-block;
	border:none;
}

footer p {
	margin-bottom:0;
	padding:0;
}

footer p a {
	font-size:1.2em;
}

footer img {
	width:100%;
	max-width:24px;
	margin:0 auto;
}

footer nav ul {
	display:table;
}

footer nav li {
	display:table-cell;
	margin-bottom:8px;
	padding:0 4px;
/*	border-left:1px solid #ccc;*/
}

footer nav li:first-child {
/*	border-left:none;*/
}

footer a:link,
footer a:visited {
	color:#ccc;	
}

footer a:active,
footer a:hover,
footer a:focus {
	color:#999;		
}

footer:after,footer div:after {
	content:".";
	display:block;
	visibility:hidden;
	height:0.1px;
	font-size:0.1px;
	line-height:0;
	clear:both;
}

footer .view a {
	display:inline-block;
	font-size:1.0em;
	text-decoration:none;
	padding:4px 12px;
/*	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	border-radius:4px;*/
}

footer .view a:link,
footer .view a:visited {
	color:#fff;
	border:1px solid #fff;
}

footer .view a:active,
footer .view a:hover,
footer .view a:focus {
	color:#666;
	background-color:#fff;
	border:1px solid #fff;
}