/* Reset ---------------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
ul {list-style: none; }
ol {list-style: decimal inside;}
table { border-collapse:separate; border-spacing: 0 }
caption,th,td { text-align:left; font-weight: normal }
blockquote:before,blockquote:after,q:before,q:after { content: "" }
ol,ul,dl,div,section,article,footer,header {zoom:1;}
ol:after, ul:after, dl:after, div:after, section:after, article:after ,footer:after ,header:after {
	content:"";
	display:block !important;
	height:0;
	clear:both;
	visibility:hidden;
	display:none;
}
/* Common ---------------------------------------------------------------------- */
html { overflow-y: scroll;}
body {
	-webkit-text-size-adjust: 100%;
}
img {
    display:block;
	-ms-interpolation-mode:bicubic;
	image-rendering: optimizequality;
	width: 100%;
    height: auto;
    width /***/:auto;　/*IE8のみ適用*/
}

p {word-break: break-all;}
/* layout処理 */
.left				{ *display: inline; float: left; }
.right				{ *display: inline; float: right; }
.layout-center		{ margin-left:auto; margin-right:auto; position:relative; }
img.layout-center	{ display: block; }
.clear				{ clear: both; }
/* テキスト処理 */
.text-center		{ text-align: center; }
.text-right			{ text-align: right; }
.text-left			{ text-align: left; }
.underline			{ text-decoration: underline; }
.bold				{ font-weight: bold; }
.normal				{ font-weight: normal; }
/* display と visibility　*/
.hide				{ display: none; }
.show,
.isBlock			{ display: block; }
.isInline			{ display: inline; }
.isInline-block		{ display: inline-block; *display: inline; zoom: 1; }
.isInvisible		{ visibility: hidden; }
/* ulに対して追加 */
.list-square		{ list-style: square inside; }
.list-disc 			{ list-style: disc inside; }
.list-circle		{ list-style: circle inside; }
.list-linear {
	letter-spacing: -0.31em;
	*letter-spacing: normal;
	/*word-spacing: -0.43em;*/
}
 /*FFハック*/
.list-linear, x:-moz-read-only  {letter-spacing:-0.3em;}

.list-linear li {
	display: inline-block;
	*display: inline;
	zoom: 1;
	line-height: 1.2;
	letter-spacing: normal;
	margin-top: 0;
	margin-bottom: 0;
	word-spacing: normal;
	vertical-align: top;
}
.list-valign-mid li, .valign-mid * { vertical-align: middle; }
.llms li { margin-right: 4px; }
.llmm li { margin-right: 7px; }
.llml li { margin-right: 14px; }
.llms li:last-child, .llmm li:last-child, .llml li:last-child { margin-right: 0 }
.llms li.last, .llmm li.last, .llml li.last { margin-right: 0 }

ul ul, ol ol {margin: 0 0 0 20px;}
/* position */
.pos-rel { position: relative; }
.pos-abs { position: absolute; }
/* テキスト飛ばし */
.replace, .ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
/* リンク hoverで透明度を下げる */
a:hover img.trans,
a.trans:hover img {
	cursor: pointer;
	filter:alpha(opacity=68);
	-moz-opacity:0.68;
	opacity:0.68;
}
/* リンク hoverで透明度を下げる（PC以外は下げない） */
@media only screen and (max-width: 1023px) {
	a:hover img.trans,
	a.trans:hover img {
		filter:alpha(opacity=100);
		-moz-opacity:1.0;
		opacity:1.0;
	}
}

/* ベースフォント設定 */
body, button, input, select, textarea  {
	color: #404040;
	/*font: 15px "メイリオ","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic", "ＭＳ Ｐゴシック", 'lucida grande',tahoma,verdana,arial, sans-serif;*/
	font: 15px 'helvetica', 'arial', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
@media only screen and (max-width: 767px) {
	body, button, input, select, textarea  {
		/*font: 13px "メイリオ","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic", "ＭＳ Ｐゴシック", 'lucida grande',tahoma,verdana,arial, sans-serif;*/
		font: 13px 'helvetica', 'arial', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	}
}
pre,code,kbd,samp { font-family: monospace; }
strong,em,th { font-weight: bold; font-style: normal; }
sub { vertical-align: sub; font-size: smaller; }
sup { vertical-align: super; font-size: smaller; }
/* Headings */
h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6 {
	font-weight: normal;
	word-break: break-all; 
}
/* font-size */
/*
h1, .h1 { font-size: 197%; }
h2, .h2 { font-size: 174%; }
h3, .h3 { font-size: 153.9%; }
h4, .h4 { font-size: 131%; }
h5, .h5 { font-size: 108%; }
h6, .h6 { font-size: 85%;}
*/

/*
53.9%
10px = 77%
11px = 85%
12px = 93%
13px = 100%
14px = 108%
15px = 116%
16px = 123.1%
17px = 131%
18px = 138.5%
19px = 146.5%
20px = 153.9%
21px = 161.6%
22px = 167%
23px = 174%
24px = 182%
25px = 189%
26px = 197%
*/

/*a:link    { color: #c53631; text-decoration: none;}
a:visited { color: #c53631; text-decoration: none;}
a:hover   { color: #c53631; text-decoration: underline;}*/


/* Grid ---------------------------------------------------------------------- */
.hasGrid {
	letter-spacing: -0.31em;
	*letter-spacing: normal; /* reset IE < 8 */
	word-spacing: -0.43em;
}
/*@@@@@@@@@@@@@ 479以上のスマホ @@@@@@@@@@@@@*/
@media only screen and (max-width: 479px) {
	.hasGrid {letter-spacing: -0.41em; }/*？？？*/
}

.size1of1,.size1of2,.size1of3,.size2of3,.size1of4,.size3of4,.size1of5,.size2of5,.size3of5,.size4of5 {
	display: inline-block;
	zoom: 1; *display: inline; /* IE < 8: inline-block は IE8以下でサポートしていないので、ハック */
	letter-spacing: normal;
	word-spacing: normal;
	vertical-align: top;
}
.size1of1 { display: block; }
.size1of2 { width: 50%; *width: 49.5%; }
.size1of3 { width: 33.33333%; *width: 33%; }
.size2of3 { width: 66.66666%; *width: 66%; }
.size1of4 { width: 25%; }
.size3of4 { width: 75%; }
.size1of5 { width: 20%; *width: 19.8%;}
.size2of5 { width: 40%; }
.size3of5 { width: 60%; }
.size4of5 { width: 80%; }

.box-fl { float: left; *margin-right: -3px; }
.box-fr { float: right; *margin-left: -3px; }
.box-25 { width: 25%; }
.box-33 { width: 33.33%; }
.box-50 { width: 50%; }
.box-66 { width: 66.66%; }
.box-75 { width: 75%; }
.box-100 { width: 100%; }
.box-negmr { margin-right: -1px; *margin-right:-4px; }
.box-negmx { margin-right: -1px; }
.box-negml { margin-left: -1px; *margin-left: -4px }

/* Space ---------------------------------------------------------------------- 
p,m = paddingとmargin
a,t,r,b,l,h,v = all,top,right,bottom,left,horizontal,vertical
s,m,l,n = small(7px),medium(14px),large(21px),none(0)
*/
.ptn, .pvn, .pan { padding-top: 0; }
.pts, .pvs, .pas { padding-top: 7px; }
.ptm, .pvm, .pam { padding-top: 14px; }
.ptl, .pvl, .pal { padding-top: 21px; }
.prn, .phn, .pan { padding-right: 0; }
.prs, .phs, .pas { padding-right: 7px; }
.prm, .phm, .pam { padding-right: 14px; }
.prl, .phl, .pal { padding-right: 21px; }
.pbn, .pvn, .pan { padding-bottom: 0; }  
.pbs, .pvs, .pas { padding-bottom: 7px; }
.pbm, .pvm, .pam { padding-bottom: 14px; }
.pbl, .pvl, .pal { padding-bottom: 21px; }
.pln, .phn, .pan { padding-left: 0; }
.pls, .phs, .pas { padding-left: 7px; }
.plm, .phm, .pam { padding-left: 14px; }
.pll, .phl, .pal { padding-left: 21px; }
.mtn, .mvn, .man { margin-top: 0; }
.mts, .mvs, .mas { margin-top: 7px; }
.mtm, .mvm, .mam { margin-top: 14px; }
.mtl, .mvl, .mal { margin-top: 21px; }
.mrn, .mhn, .man { margin-right: 0; }
.mrs, .mhs, .mas { margin-right: 7px; }
.mrm, .mhm, .mam { margin-right: 14px; }
.mrl, .mhl, .mal { margin-right: 21px; }
.mbn, .mvn, .man { margin-bottom:0; }  
.mbs, .mvs, .mas { margin-bottom: 7px; }
.mbm, .mvm, .mam { margin-bottom: 14px; }
.mbl, .mvl, .mal { margin-bottom: 21px; }
.mln, .mhn, .man { margin-left:0; }
.mls, .mhs, .mas { margin-left: 7px; }
.mlm, .mhm, .mam { margin-left: 14px; }
.mll, .mhl, .mal { margin-left: 21px; }

/*******************************************************************/

body , html {   
    height: 100%;
}

img.bg {
  /* Set rules to fill background */
  min-height: 100%;
  min-width: 1024px;
  /* Set up proportionate scaling */
  width: 100%;
  height: auto;
  /* Set up positioning */
  position: fixed;
  /* またはabsolute; */
  top: 0;
  left: 0;
}

@media screen and (max-width: 1024px){
  img.bg {
  left: 50%;
  margin-left: -512px; }
}

#container {
	width: 100%;
	position: relative;
}

#area_head {
	position: relative;
	z-index:1000;
	width:100%;
}
#area_head #fix_head {
	margin: 0 10%;
}
#area_head #fix_head .inner {
	display: table;
	padding-bottom: 2%;
	table-layout: fixed;
	width: 100%;
}

#main_content {
	position: relative;
	margin:0 10%;
	padding-bottom:2%;
}

#main_content .inner {
	padding:0 2% 2%;
	margin:0 0 5% 0;
}

.page_index #area_head  {
  background: rgba(255,255,255,.8);
	margin: 0 auto;
	position:absolute;
	z-index:6;
}
/*
.page_index #area_head .size1of3,
.page_index #area_head .size2of3 {
	display:block;
	float: none;
	width: 100%;
}
.page_index .area_logo {
}
.page_index .area_logo .logo {
	margin-left:0;
	margin:1% 5% 0;
}
.page_index .area_nav {
	padding: 1% 0 0 0;
}
.page_index .area_nav nav {
	float: none;
	text-align: center;
	margin-right: 0;
}
*/

#footer {
	text-align:center;
	color:#fff;
}
.logo{
	background-image: url(../img/logo.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	display: block;
	height: 59px;
	text-indent: -9999px;
	margin-left:3%;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	background-size: contain;
}

/**/
nav a {padding:5px 10px;}

nav a    { color: #c53631; text-decoration: none;}
/*
nav a:visited { color: #c53631; text-decoration: none;}
nav a:hover,
nav a:active,
nav a.current {
	background:#c53631;
	color:#fff;
	text-decoration: none;
  border-radius: 3px;
}
*/
.page_top nav ul{
	padding:20px 0;
	text-align: center;
	font-weight:bold;
}
.area_nav nav {
	margin-right:2%;
}
nav li {
	display: inline-block;
	*display: inline;
	*float: left;
	zoom: 1;
	/*line-height:2.5;*/
}
nav li + li::before {
	content: "|";
	display:inline;
	padding-right: 5px;
}
/**/

.area_nav nav {
	float: right;
}

.area_logo, .area_nav {
	display:table-cell;
	vertical-align:bottom;
}
@media only screen and (max-width: 1100px){
	.area_logo .logo {
		height: 45px;
	}
	.area_nav nav ul {
		display:inline-block;
		margin: 0 auto;
	}
}
@media only screen and (max-width: 767px) {
	#area_head #fix_head,
	#main_content {
		margin:0 3% !important;
	}
	nav {
		margin:2% 0;
	}
	nav a {
		padding: 5px;
	}
	.area_nav nav ul .work {
		display:none;
	}
	nav li.dir::before {
	content: "";
	padding-right: 0;
	margin-left:0;
	}
	nav li.dir::after {
		content: "";
		padding-left: 0;
	}
	nav li.web::after {
		content: "";
		padding-left: 0;
	}
	nav li.graphic::after {
		content: "";
		padding-left: 0;
	}
	nav li.illustration::after {
		content: "";
		padding-right: 0;
		padding-left: 0;
	}
	nav li.about::after {
		content: "";
		padding-left: 0;
	}

}

@media only screen and (max-width: 479px) {
/*	#area_head .size2of3 {
		font-size: 77%;
	}
	*/
	.area_logo .logo {
		height: 30px;
		margin-bottom: 2%;
	}
	#main_content .inner {
		padding:0 3% 2% 2%;
	}
	.content1 h2 {
		font-size: 77%;
	}
	
	/*
	.slick-slide img {
		min-width: 280px;
	}*/
}

/*for IE7 */
*:first-child+html .area_logo,
*:first-child+html .area_nav {display: inline; zoom: 1;}
*:first-child+html .area_nav {
    position:absolute;
    right:0;
    margin-top:14px;
}


/**** icon ****/
.ic {
	background-image: url(../img/icon.png);
	background-repeat:no-repeat;
	position: absolute;
}
.thum_main .ic {
	display: inline-block;
	*display: inline;
	*float: left;
	position: relative;
	margin-right: 5px;
}
.thum_main .ic_view_site {
	background-position: -1px -3px;
	width:24px;
	height:16px;
	top:3px;
}
.thum_main .ic_view_expand {
	background-position: -1px -35px;
	width:24px;
	height:16px;
	top:3px;
}
.thum_main .ic_pdf {
	background-position: -5px -80px;
	width:25px;
	height:35px;
}
@media only screen and (max-width: 767px) {
	.ic {
		background-size: 150px;
	}
	.thum_main .ic_view_site {
		background-position: -100px -5px;
		width:16px;
		height:16px;
	}
	.thum_main .ic_view_expand {
		background-position: -100px -45px;
		width:16px;
		height:16px;
	}
	.thum_main .ic_pdf {
		background-position: -100px -90px;
		width:25px;
		height:35px;
	}
}
/**** //icon ****/


section {
	position:relative;
}
section .title h1 {
	font-weight: bold;
	font-size: 138.5%;
	margin:2% 0;
}
article {
	padding:30px 3% 0;
}
.page-web article {
	padding:30px 3% 0;
}
@media only screen and (max-width: 479px) {
	article {
		padding:0 3%;
	}
	.page-web article {
		padding:30px 3% 0;
	}
}

.year h1 {
	width: 60px;
	height: 20px;
	background: #c53631;
	-moz-border-radius: 60px;
	-webkit-border-radius: 60px;
	border-radius: 60px;
	padding:20px 0;
	text-align:center;
	font-weight:bold;
	color:#fff;
	position:absolute;
	top:-30px;
}
.content {
	margin:2% 40px;
}
.page-web .content { 
	margin:40px;
 }
@media only screen and (max-width: 767px) {
	.content { margin:2%; }
	.page-web .content { margin:40px 3%; }
}
.area_img {
	float:left;
	max-width:320px;
	width:320px;
}
.area_img figure {
	margin:0;
}
/*★あとで消す*/
.area_img figure img {
	width:320px;
	height:auto;
}

.area_img a:hover img {
	border:3px solid #c53631;
	margin: -3px;
	cursor: pointer;
	filter:alpha(opacity=68);
	-moz-opacity:0.68;
	opacity:0.68;
}

.view_other_img li {
	width:32px;
	height:32px;
}
.view_other_img li img {
	width:32px;
	height:32px;
	border:1px solid #999;
	margin: -1px;
}
.area_img a:hover .ic_pdf {
	cursor: pointer;
	filter:alpha(opacity=68);
	-moz-opacity:0.68;
	opacity:0.68;
}
figcaption {
	line-height:1;
	text-align: center;
}

.yt {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.yt iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media only screen and (max-width: 1023px) {
	.area_img .thum_main .view_other_img p,
	.area_img .thum_main .view_other_file p {
		display: inline;
		float: none;
	}
	.area_img .thum_main .view_other_img ul,
	.area_img .thum_main .view_other_file ul {
		padding:7px 0;
	}
}


.area_text {
	float : left;
	width: 100%;
	margin-right : -320px;
}
.area_text .content_text {
	 margin-right: 320px;
	 padding-right:3%;
}
.area_text h2 {
	font-weight:bold;
	font-size: 131%;
}

.area_text .detail {
	border-left: 2px solid #bbb;
	margin: 5px 0px 10px 10px;
	padding-left: 10px;
	line-height: 1.4;
}
.area_text .outline{
	font-weight:bold;
}
.area_text .supp{
	font-size: 85%;
	line-height:1.8;
}
.area_text .url{
	padding-top: 8px;
	line-height: 1;
}
.area_text .url span {
	display:inline-block;
	*display:inline;
	float:left;
}
.area_text .url a {
	display: table-cell;
}
.area_text .com {
	padding: 0px 0px 10px 10px;
	font-weight: bold;
	color: #666;
}
.area_text .affairs {
	font-size:85%;
	padding: 0px 0px 10px 10px;
}
.area_text .affairs dt {
	font-weight:bold;
}


@media only screen and (max-width: 959px) {
	.area_img {
		float: none !important;
		display: block;
		width: 100% !important;
		text-align: center !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		max-width:100%;
	}
	.area_img figure {
		text-align:center;
		margin: 7px auto;
	}
	.area_img figure img {
		margin: 0 auto;
	}
	.area_img a:hover img {
		border:none;
		margin: 0 auto;
	}
	.area_text {
		float : none;
		width: 100%;
		margin-right :0;
		padding:3% 0;
	}
	.area_text .content_text {
		 margin-right: 0;
		 padding-right:0;
	}
}
/************* about ***********/
.page-about dl {
	width: 100%;
	line-height:1.6;
	padding-bottom:5%;
}

.page-about dl dt { float: left; font-weight:bold; }
.page-about dl dd { padding-left: 2%; padding-bottom:1%; }

.page-about .about_profile dl dt { width: 20%;}
.page-about .about_profile dl dd { margin-left: 20%;}

.page-about .about_acdmcbg dl dt { width: 20%;}
.page-about .about_acdmcbg dl dd { margin-left: 20%;}
@media only screen and (max-width: 1100px){
	.page-about .about_acdmcbg dl dt { width: 100%; float:none; }
	.page-about .about_acdmcbg dl dd { margin-left: 0;}
}

.page-about .about_career dl dt { width: 100%; float:none; }
.page-about .about_career dl dd { margin-left: 0; }

.page-about .career_summary {
	border:1px solid #888;
	padding:3%;
	margin-bottom:7%;
}
.page-about .career_summary h2 {
	background:#888;
	color:#fff;
	padding:2px 2%;
	margin:0 0 3% 0;
}
.page-about .career_summary dl:last-child {
	padding-bottom: 0;
}


.dot {
	background-image: url(../img/icon.png);
	background-position: -270px -3px;
	background-repeat:no-repeat;
	padding-left:14px;
}
.affairs .dot {
	background-position: -270px -6px;
}

@media only screen and (max-width: 767px) {
	.dot {
		background-size: 150px;
		background-position: -135px -94px;
	}
	.affairs .dot {
		background-size: 150px;
		background-position: -135px -97px;
	}
}
/************* graphic and illustration ***********/
.page-illustration figure img,
.page-graphic figure img {
	width: 200px;
	height: auto;
}

.page-graphic .graphic_postcard figure img {
	width: 340px;
	height: auto;
}

.page-illustration .content,
.page-graphic .content {
	text-align:center;
}

.page-illustration .illustration_illust a:hover img {
	border:3px solid #c53631;
	margin: -3px;
	cursor: pointer;
	filter:alpha(opacity=68);
	-moz-opacity:0.68;
	opacity:0.68;
}

@media screen and (min-width: 1075px) and (max-width: 1495px) {
	.page-illustration .content,
	.page-graphic .content {
		text-align:left;
	}
}

.page-illustration .list-linear li,
.page-graphic .list-linear li {
	margin: 3% 3% 5%;
}
.page-graphic figcaption {
	padding-top:3%;
}
.page-graphic figcaption .title {
	font-weight:bold;
}
.page-graphic figcaption .detail {
	padding-top:3%;
}
.page-graphic figcaption .title,
.page-graphic figcaption .year {
	display:inline;
}