@charset "utf-8";



/* = top
-------------------------------------------------------------- */

.main-image {
	width: 970px;
	margin: 0 auto;
}
.main-image-wrapper {
	height: 321px;
	background:#fff url(../images/top/main-bg.png) no-repeat center center;
}
.main-image {
	width: 970px;
	margin: 0 auto;
	position:relative;
	background: #fff;
}
.main-image h1 {
	position:absolute;
	top:57px;
	left:0;
}
.main-image .text {
	position:absolute;
	top: 149px;
}
.main-image .visual {
	position:absolute;
	top:16px;
	right:0;
}
#top #contents {
	padding: 30px 0 0 0;
}
#top #contents h2 {
	background:#FFF url(../images/common/cat-line.png) repeat-x bottom;
	padding-bottom: 15px;
}
#top #contents .button {
	position: relative;
}
#top #contents .button img{
	position: absolute;
	top:0px;
	right:0;
}
#top #contents .services dl {
	float: left;
	width: 49%;
	margin-right: 2%;
	margin-top:20px;
}
#top #contents .services dl a:hover {
	opacity: 0.6;
}
#top #contents .services dl:last-child {
	margin-right:0;;
}
#top #contents .services dt {
	margin-bottom:7px;
}
#top #contents .services dd.text {
	margin-top:8px;
	font-size:90%;
	line-height: 1.6;
}
#top #contents .services {
	margin-bottom:40px;
}
#top #contents .news h2 {
	padding-bottom:15px;
}
#top #contents .news dl {
	background: url(../images/common/border-dot.png) repeat-x bottom;
	padding-bottom: 15px;
	margin-top: 15px;
}
#top #contents .news dl dt{
	float: left;
	padding: 3px 5px;
}
#news .news dl dt {
	background: #f2f8e2;
	color: #999;
	font-family: Lucida Grande, arial;
	margin-right: 15px;
	width: 120px;
	text-align: center;
}
#news .news dl dd {
	background:#FFF url(../images/common/arrow01.png) left 0.5em no-repeat;
	padding: 3px 5px 3px 15px;
	margin-left: 140px;
	line-height: 1.6;
}
#top #contents .news dl dt {
	background: #f2f8e2;
	color: #999;
	font-family: Lucida Grande, arial;
	margin-right: 15px;
	width: 120px;
	text-align: center;
}
#top #contents .news dl dd {
	background:#FFF url(../images/common/arrow01.png) left 0.5em no-repeat;
	padding: 3px 5px 3px 15px;
	margin-left: 140px;
	line-height: 1.6;
}
#top #contents .news dl dd span.pdf a {
	background:url(../images/common/icon-pdf.png) no-repeat left center;
	padding: 5px 10px 5px 18px;
}
#top #contents .news dl dd span.word a {
	background:url(../images/common/icon-word.png) no-repeat left center;
	padding: 5px 10px 5px 18px;
}
#top #contents .news dl dd span.exls a {
	background:url(../images/common/icon-exls.png) no-repeat left center;
	padding: 5px 10px 5px 18px;
}
#top #contents .news dl dd span a {
	color: #31819f;
}
#top #contents .news a {
	color: #31819f;
}

/* = demand responsive
-------------------------------------------------------------- */
#demand .lead {
	padding-top:30px;
	font-size:123.1%;
	line-height: 1.7;
}
#demand .main {
	margin-bottom: 60px;
}
#demand .main .openADR {
	margin: 40px auto 0;
	width: 85%;
}
#demand .main .openADR .img {
		display: inline-block;
		width: 40%;
		vertical-align: middle;
		padding-right: 2%;
}
#demand .main .openADR .img img {
	width: 100%;
}
#demand .main .openADR .text {
		display: inline-block;
		width: 55%;
		vertical-align: middle;
		line-height: 1.7;
		color: #777;
}
#demand .flow .contents {
	text-align: center;
	padding: 0px 0 20px;
}
#demand .flow .contents dl {
	text-align: left;
	padding-top: 40px;
}
#demand .flow .contents dl dd a {
	display: inline-block;
	padding:5px  0 5px 0px;
}
#demand .flow .contents dl dd a:hover {
	opacity: 0.7;
}
#demand .download {
	border: 1px solid #008e00;
	padding: 30px;
	margin: 30px auto 20px;
	width: 60%;
	text-align: center;
}
#demand .download dt {
	padding-bottom: 15px;
	font-weight: bold;
	text-align: center;
}
#demand .download dd {
	text-align: center;
	font-weight: bold;
}
#demand .inquiry {
	text-align: center;
	margin: 30px 0 10px;
}
#demand .inquiry p {
	margin-bottom: 20px;
	font-size:116%;
}
#demand p.caution {
	font-size: 90%;
	margin-top:20px;
}
#demand p.caution span{
	color: #098519;
	font-family: Lucida Grande, arial;
	font-weight:bold;
}

/* = services
-------------------------------------------------------------- */
#services .main{
	position:relative;
	height: 230px;
}
#services .main p {
	position:absolute;
	top:30px;
	left: 0;
	font-size:123.1%;
	line-height: 1.7;
	z-index: 2;
	width: 565px;
}
#services .main .image {
	position:absolute;
	top:20px;
	right: 0
}
#services h2 {
	background:#FFF url(../images/common/cat-line.png) repeat-x bottom;
	padding-bottom: 15px;
}
#services .life-stage .contents {
	background: url(../images/services/stage-bg.png) no-repeat right bottom;
}
#services .life-stage .contents {
	position: relative;
	height: 562px;
}
#services .life-stage .contents ul.step {
	margin-left: 137px;
}
#services .life-stage .contents ul.cat {
	position:absolute;
	top:69px;
	left: 0;
}
#services .life-stage .contents ul.cat li {
	margin-bottom: 4px;
}
#services .life-stage .contents ul.step li{
	float: left;
	margin-right: 4px;
	margin-top: 20px;
}
#services .life-stage .contents ul.step li:last-child {
	margin-right: 0;
}
#services .life-stage .stage .m01{
	position:absolute;
	top:87px;
	left: 144px;
}
#services .life-stage .stage .m02{
	position:absolute;
	top:137px;
	left: 144px;
}
#services .life-stage .stage .m03{
	position:absolute;
	top:137px;
	left: 414px;
}
#services .life-stage .stage .m04{
	position:absolute;
	top:187px;
	left: 414px;
}
#services .life-stage .stage .m05{
	position:absolute;
	top:187px;
	left: 693px;
}
#services .life-stage .stage .s01{
	position:absolute;
	top:268px;
	left: 144px;
}
#services .life-stage .stage .s02{
	position:absolute;
	top:268px;
	left: 414px;
}
#services .life-stage .stage .s03{
	position:absolute;
	top:318px;
	left: 414px;
}
#services .life-stage .stage .s04{
	position:absolute;
	top:318px;
	left: 693px;
}
#services .life-stage .stage .s05{
	position:absolute;
	top:368px;
	left: 693px;
}
#services .life-stage .stage .o01{
	position:absolute;
	top:452px;
	left: 144px;
}
#services .life-stage .stage .o02{
	position:absolute;
	top:452px;
	left: 414px;
}
#services .life-stage .stage .o03{
	position:absolute;
	top:502px;
	left: 414px;
}
#services .inquiry {
	text-align: center;
	margin: 30px 0 10px;
}
#services .inquiry p {
	margin-bottom: 20px;
	font-size:116%;
}
#services p.caution {
	font-size: 90%;
	margin-top:20px;
}
#services p.caution span{
	color: #098519;
	font-family: Lucida Grande, arial;
	font-weight:bold;
}


/* = about
-------------------------------------------------------------- */

#about-us #contents {
	padding-top:30px;
}
#about-us table {
	width: 100%;
}
#about-us table th {
	background: #368c41;
	color: #fff;
	border-bottom:1px solid #fff;
	padding: 15px;
}
#about-us table tr:first-child th {
	border-top:1px solid #368c41;
}
#about-us table tr:first-child td {
	border-top:1px solid #bfc8a9;
}
#about-us table tr:last-child th {
	border-bottom:1px solid #368c41;
}
#about-us table td {
	background: #fff;
	border-bottom:1px solid #bfc8a9;
	padding: 15px;
}
#about-us table td ul {
	margin-top: 10px;
}
#about-us table td ul li {
	line-height: 1.7;
}
#about-us table td a {
	color: #31819f;	
}
#about-us table td dl dt:first-child {
	margin-top: 0;
}
#about-us table td dl dt {
	margin-top: 20px;
	font-weight: bold;
}
#about-us table td .facebook a {
	display: block;
	margin-top:7px;
	background: url(../images/common/icon-facebook.png) no-repeat left center;
	padding-left: 23px;
}

/* = news
-------------------------------------------------------------- */

#news #contents {
	padding-top: 30px
}
#news .news dl {
	background: url(../images/common/border-dot.png) repeat-x bottom;
	padding-bottom: 15px;
	margin-top: 15px;
}
#news .news dl dt{
	float: left;
	padding: 3px 5px;
}
#news .news dl dt {
	background: #f2f8e2;
	color: #999;
	font-family: Lucida Grande, arial;
	margin-right: 15px;
	width: 120px;
	text-align: center;
}
#news .news dl dd {
	background:#FFF url(../images/common/arrow01.png) left 0.5em no-repeat;
	padding: 3px 5px 3px 15px;
	margin-left: 140px;
	line-height: 1.6;
}
#news .news dl dd span.pdf a {
	background:url(../images/common/icon-pdf.png) no-repeat left center;
	padding: 5px 10px 5px 18px;
}
#news .news dl dd span.word a {
	background:url(../images/common/icon-word.png) no-repeat left center;
	padding: 5px 10px 5px 18px;
}
#news .news dl dd span.exls a {
	background:url(../images/common/icon-exls.png) no-repeat left center;
	padding: 5px 10px 5px 18px;
}
#news .news dl dd span a {
	color: #31819f;
}
#news dl dd a {
	color: #31819f;
}

/* = careers
-------------------------------------------------------------- */

#careers #contents {
	padding-top:30px;
}
#careers .job-type {
	font-weight: bold;
	margin-bottom: 10px;
}
#careers table {
	width: 100%;
	margin-bottom: 40px;
}
#careers table th {
	background: #368c41;
	color: #fff;
	border-bottom:1px solid #fff;
	padding: 15px;
	width: 20%;
}
#careers table tr:first-child th {
	border-top:1px solid #368c41;
}
#careers table tr:first-child td {
	border-top:1px solid #bfc8a9;
}
#careers table tr:last-child th {
	border-bottom:1px solid #368c41;
}
#careers table td {
	background: #fff;
	border-bottom:1px solid #bfc8a9;
	padding: 15px;
	line-height: 1.6;
}
#careers table td ul {
	margin-top: 10px;
}
#careers table td ul li {
	line-height: 1.7;
}
#careers table td a {
	color: #31819f;	
}
#careers .lead {
	margin-bottom: 30px;
	font-size:108%;
}
#careers .entry .lead{
	line-height: 1.7;
}
#careers .entry dl dt:first-child {
	margin-top: 0px;
}
#careers .entry dl dt{
	font-weight: bold;
	margin-bottom: 5px;
	margin-top: 20px;
}
#careers .entry dl dd {
	line-height: 2.0;
}
#careers h2 {
	margin-bottom: 20px;
}

/* = vision
-------------------------------------------------------------- */
#vision #contents {
	padding-top:30px;
}
#vision p.lead{
	font-size:167%;
	margin-bottom: 40px;	
}
#vision dl {
	margin-bottom: 40px;
}
#vision dl dt {
	font-size:138.5%; 
	line-height: 1.0;
	margin-bottom:15px;
	color: #757575;
	border-left:4px solid #098519;
	padding-left: 7px;
}
#vision dl dd {
	line-height: 1.6;
	font-size:108%;
}
