@charset "UTF-8";
/* body
--------------------------------------------------*/
html {
	width: 100%;
	font-family: verdana, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}
body {
	width: 100%;
	color: #010101;
	font-size: 15px;
	line-height: 24px;
	text-align: left;
	background: #fff;
	-webkit-text-size-adjust: none;
	overflow-x: hidden;
}
/* common style
--------------------------------------------------*/
a {
	color: #010101;
	text-decoration: none;
}
a:hover {
	color: #010101;
	text-decoration: underline;
}
img {
	vertical-align: top;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.w1080 {
	width: 1080px !important;
	margin: 0 auto;
}
.ltit {
	font-size: 36px;
	font-weight: bold;
	color: #17a086;
}
.mtit {
	font-size: 24px;
	font-weight: bold;
	border-bottom: 3px solid #17a086;
	padding-bottom: 12px;
}
p { margin-bottom: 1.5em; }
li.last { margin-right: 0 !important; }
.txtBtn {
	text-align: right;
}
.txtBtn a {
	background: #17a086 url(..//images/ic_arrow.png) no-repeat 13px 50%;
	color: #fff;
	font-size: 13px;
	padding: 4px 15px 4px 30px;
}
.txtBtn a[href$=".pdf"] {
	background: #17a086 url(..//images/ic_pdf.png) no-repeat 13px 50%;
}
.txtBtn a.ex_link {
	background: #17a086 url(../images/ic_link.png) no-repeat 15px 50%;
}
.txtBtn a:hover {
	background-color: #2cbfa3;
	text-decoration: none;
}
#pagetop {
	position: fixed;
	bottom: 240px;
	left: 50%;
	margin-left: 540px;
}
dl.box1 {
	width: 900px;
	overflow: hidden;
}
dl.box1 dt {
	float: left;
	width: 302px;
}
dl.box1 dd {
	float: right;
	width: 570px;
}
/* 各main_area共通処理 */
.main_shade {
	height: 180px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -90px 0 0 -1000px;
}
.main_box {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
.main_box .main_tit {
	position: absolute;
	top: 66px;
	left: 9px;
}

/* layout
--------------------------------------------------*/

/* bread */
.bread {
	width: 100%;
	background: #fafafa;
	border-bottom: #e5e5e5 solid 1px;
}
.bread ul {
	font-size: 11px;
	height: 26px;
	line-height: 26px;
	overflow: hidden;
}
.bread li {
	display: inline;
	padding-left: 8px;
}
.bread li a {
	background: url(../images/arr_bread.png) no-repeat scroll 100% 50%;
	padding-right: 20px;
}
.bread li.home {
	padding-left: 14px;
	background: url(../images/ic_home.png) left center no-repeat;
}
/* header */
header {
	width: 100%;
	height: 111px;
	background: url(../images/head_bg.png) left top repeat-x;
}
#header {
	width: 1080px;
	margin: 0 auto;
	position: relative;
}
#header #logo {
	position: absolute;
	top: 45px;
	left: 0px;
}
#header #head_btn {
	position: absolute;
	top: 0px;
	right: 0px;
}
#header nav {
	position: absolute;
	width: 560px;
	top: 61px;
	right: 0px;
	overflow: hidden;
	background: url(../images/gnavi_line.png) left top no-repeat;
	padding-left: 1px;
}
#header nav li {
	float: left;
	padding-right: 1px;
	width: 139px;
	background: url(../images/gnavi_line.png) right top no-repeat;
}
/* contents */
.contents {
	width: 900px;
	margin: 68px auto 100px;
}
/* footer */
footer #foot_link {
	width: 100%;
	margin: 0 auto;
	background: url(../images/foot_link_bg.jpg) left top repeat-x;
	height: 36px;
	padding-top: 8px;
}
footer #foot_link ul {
	width: 1080px;
	overflow: hidden;
}
footer #foot_link li {
	float: left;
	margin-right: 46px;
	color: #fff;
	font-size: 12px;
}
footer #foot_link li a {
	color: #fff;
}
footer #copy {
	margin: 50px auto 30px;
	text-align: center;
	font-size: 10px;
	color: #666;
}
/* top
--------------------------------------------------*/
/* mv */
#mv {
	width: 100%;
	height: 400px;
	position: relative;
}
#mv #mv_box {
	width: 100%;
	height: 400px;
	text-align: center;
	overflow: hidden;
}
#mv #mv_txt {
	position: absolute;
	top: 141px;
	left: 0;
	right: 0;
	margin: auto;
	width: 500px;
}
#top_banarea {
	width: 100%;
	margin: 0 auto;
	background: #5bd1bb;
	height: 202px;
	position: relative;
}
#top_banarea #top_banbox {
	height: 218px;
	position: absolute;
	top: -130px;
	left: 0;
	right: 0;
	margin: auto;
	width: 812px;
}
#top_banarea #top_banbox ul {
	letter-spacing: -0.4em;
	text-align: center;
}
#top_banarea #top_banbox li {
	display: inline-block;
	letter-spacing: normal;
	padding: 0 10px;
	vertical-align: top;
}
#top_banarea #top_btn_business {
	position: absolute;
	top: 114px;
	left: 0;
	right: 0;
	margin: auto;
	width: 280px;
}
#top_contents_area {
	width: 100%;
	background: #e5f3f0;
}
#top_contents_box {
	width: 1080px;
	background: url(../../images/top_contents_bg.jpg) center top no-repeat;
	margin: 0 auto;
	color: #555;
	font-size: 16px;
}
#top_contents_box ul {
	width: 1080px;
	margin: 0 auto;
	padding: 46px 0 65px;
	overflow: hidden;
}
#top_contents_box h2 {
	margin-bottom: 20px;
}
#top_contents_box p {
	margin-bottom: 15px;
}
#top_contents_box .img {
	margin: 28px 0 25px;
}
#top_contents_box h3 {
	margin-bottom: 5px;
}
#top_contents_box li.first {
	float: left;
	width: 450px;
}
#top_contents_box li.last {
	float: right;
	width: 374px;
}
#top_contents_box li.last h3 {
	color: #17a086;
	font-weight: bold;
}
#gmap {
	width: 368px;
	height: 140px;
	border: #5bd1bb solid 1px;
	margin-bottom: 15px;
}
/* company
--------------------------------------------------*/
.main_area_company {
	min-height: 180px;
	background: url(../../company/images/main_bg.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.company h2 {
	margin-bottom: 75px;
}
.company h3 {
	margin-bottom: 45px;
}
.company dl.tbl {
	width: 900px;
	overflow: hidden;
	background: #d9f5f0;
	border-bottom: 1px solid #dedede;
	border-top: none;
	margin-bottom: 90px;
}
.company dl.tbl p {
	margin-bottom: 10px;
}
.company dl.tbl dt {
	padding: 25px 20px;
	border-top: 1px solid #dedede;
	float: left;
	width: 220px;
}
.company dl.tbl dd {
	padding: 25px 20px 25px 65px;
	float: left;
	width: 555px;
	background:  #fff;
	border-top: 1px solid #dedede;
}
.company .map_line {
	border: #dbd9d9 solid 1px !important;
}
/* message
--------------------------------------------------*/
.message { margin-bottom: 3em; }
.message * { box-sizing: border-box; }
.message-block { display: flex; justify-content: space-between; }
.message-block .pic { width: 30%; }
.message-block .pic img { border-radius: .5em; box-shadow: 10px 10px 0 0 #17a086; width: 100%; }
.message-block .txt { flex: 1; padding-left: 3em; }
.message-block .name { line-height: 1.5; text-align: right; }
.message-block .name strong { display: inline-block; font-size: 1.5em; font-weight: normal; padding-left: .75em; }

/* history
--------------------------------------------------*/
.history h3 {
	margin-bottom: 50px;
}
.timeline > li {
	overflow: hidden;
	margin: 0;
	position: relative;
}
.timeline-date {
	width: 190px;
	float: left;
	margin-top: 20px;
}
.timeline-content {
	width: 558px;
	float: left;
	border-left: 2px #d9f5f0 solid;
	padding-left: 136px;
	padding-top: 16px;
	padding-bottom: 10px;
}
.timeline-content:before {
	content: '';
	width: 10px;
	height: 10px;
	background: #17a086;
	border: solid 2px #d9f5f0;
	position: absolute;
	left: 184px;
	top: 24px;
	border-radius: 100%;
}
/* business
--------------------------------------------------*/
.main_area_business {
	width: 100%;
	height: 180px;
	background: url(../../business/images/main_bg.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.business h2 {
	margin-bottom: 30px;
}
.business .description {
	margin-bottom: 50px;
}
.business h3 {
	margin-bottom: 40px;
}
.business dl {
	margin-bottom: 55px;
}
.business dl h3 {
	margin-bottom: 35px;
}
/* technology
--------------------------------------------------*/
.main_area_technology {
	width: 100%;
	height: 180px;
	background: url(../../technology/images/main_bg.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.technology {
	width: 900px;
}
.technology h2{
	margin-bottom: 50px;
}
.technology .box1 {
	width: 860px;
	overflow: hidden;
	padding-bottom: 30px;
	border-bottom: 1px dotted #c2c2c2;
	margin: 0 auto 30px;
}
.technology .box1 dd {
	width: 520px;
	float: right;
}
.technology .box1 dd h3 {
	font-size: 24px;
	font-weight: bold;
	color: #17a086;
	margin-bottom: 30px;
}
.technology .box1 dd p {
	margin-bottom: 30px;
}

.technology_area {
	width: 1080px;
	overflow: hidden;
	margin: 80px auto 60px;
}

.technology_l_area {
	width: 730px;
	float: left;
	margin-left: 90px;
}
.technology_l_area h2{
	margin-bottom: 45px;
}
.technology_l_area h3{
	margin-bottom: 30px;
}
.technology_l_area p{
	margin-bottom: 30px;
}

.technology_r_area {
	width: 226px;
	float: right;
	padding-bottom: 3px;
	padding-top: 3px;
}
.technology_r_area .box_shadow {
	width: 220px;
	margin: 0 auto;
	box-shadow: 0 0 3px #ccc;
	-moz-box-shadow: 0 0 3px #ccc;
	-o-box-shadow: 0 0 3px #ccc;
	-ms-box-shadow: 0 0 3px #ccc;
}
.technology_area .btn {
	width: 220px;
	height: 40px;
	line-height: 40px;
	border-bottom: 1px solid #fff;
	background: url(../../technology/images/arr_off.png) right center no-repeat #fff;
}
.technology_area .btn_on {
	width: 220px;
	color: #fff;
	height: 40px;
	line-height: 40px;
	border-bottom: 1px solid #999;
	background: url(../../technology/images/arr_on.png) right center no-repeat #444;
	text-decoration: none;
}
.technology_area .btn span, .technology_area .btn_on span {
	padding-left: 20px;
	width: 200px;
	font-size: 14px;
	display: block;
}
.btn a {
	display: block;
}
.btn a: hover {
	color: #fff;
	height: 40px;
	border-bottom: 1px solid #999;
	background: url(../../technology/images/arr_on.png) right center no-repeat #444;
	text-decoration: none;
}
.technology_area .box1 {
	width: 730px;
	padding-bottom: 22px;
	border-bottom: 1px dotted #c2c2c2;
	margin-bottom: 50px;
}
.technology_area .box1 dt {
	width: 218px;
}
.technology_area .box1 dd {
	width: 482px;
}
.technology_area .box1 h3 {
	font-size: 24px;
	font-weight: bold;
	color: #17a086;
}
/* sitemap
--------------------------------------------------*/
.main_area_sitemap {
	width: 100%;
	height: 180px;
	background: url(../../sitemap/images/main_bg.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.sitemap h2{ margin-bottom: 45px;}
.sitemap h3{ margin-bottom: 45px;}
.sitemap dl.tbl {
	width: 900px;
	overflow: hidden;
	background: #d9f5f0;
	border-bottom: 1px solid #dedede;
	border-top: none;
	font-size: 18px;
	color: #17a086;
	margin-bottom: 90px;
}
.sitemap dl.tbl dt {
	padding: 20px;
	border-top: 1px solid #dedede;
	float: left;
	width: 226px;
	font-weight: bold;
}
.sitemap dl.tbl dt span {
	display: block;
	background: url(../images/ic_circle.png) left 5px no-repeat;
	padding-left: 20px;
}
.sitemap dl.tbl a {
	color: #17a086 !important;
}
.sitemap dl.tbl dd {
	padding: 20px 20px 20px 70px;
	float: left;
	width: 544px;
	background:  #fff;
	border-top: 1px solid #dedede;
}
.sitemap dl.tbl dd li {
	margin-bottom: 5px;
}
.sitemap .list { padding: 0 30px; }
.sitemap .list li {
	background: url(../images/ic_circle.png) left 50% no-repeat;
	padding: 5px 0 5px 20px;
}
.sitemap .list li a {
	color: #17a086 !important;
}
/* contact
--------------------------------------------------*/
.main_area_contact {
	width: 100%;
	height: 180px;
	background: url(../../contact/images/main_bg.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.contact{ margin-bottom: 75px;}
.contact h2{ margin-bottom: 30px; }
.contact p{ margin-bottom: 50px; }
.contact { margin-bottom: 75px;}
.contact h3 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 30px;
}
.form {
	width: 900px;
}
.form h3{ margin-bottom: 45px;}
.form p{ margin-bottom: 45px;}
.form .tbl dl {
	width: 900px;
	overflow: hidden;
	background: #d9f5f0;
	border-bottom: 1px solid #dedede;
	border-top: none;
	margin-bottom: 50px;
}
.form .tbl dl dt {
	padding: 25px 20px;
	border-top: 1px solid #dedede;
	float: left;
	width: 226px !important;
}
.form .tbl dl dd {
	padding: 18px 20px 18px 70px;
	float: left;
	width: 544px !important;
	background:  #fff;
	border-top: 1px solid #dedede;
	min-height: 38px;
}
.form a {
	color: #17a086 !important;
	text-decoration: none;
}
.form a: hover {
	color: #17a086 !important;
	text-decoration: underline;
}
.form .tbl span.ic_require {
	width: 26px;
	height: 14px;
	padding: 4px 15px;
	color: #fff;
	background-color: #17a086;
	font-size: 12px;
	line-height: 14px;
	float: right;
}
.form .tbl span.ic_voluntary {
	width: 24px;
	height: 12px;
	padding: 4px 15px;
	color: #17a086;
	background-color: #fff;
	font-size: 12px;
	line-height: 14px;
	float: right;
	border: #17a086 solid 1px;
}
.form .tbl .require {
	background-color: #fafafa;
	border: 1px solid #eee;
	height: 26px;
}
.form .tbl input {
	padding: 5px;
}
.form .tbl textarea {
	width: 480px;
	height: 258px;
	padding: 5px;
	background: none repeat scroll 0 0 #fafafa;
	border: 1px solid #eee;
}
.form .tbl .long {
	width: 480px !important;
}
.form .tbl .medium {
	width: 220px!important;
}
.form .tbl .short {
	width: 120px!important;
}
.form .submit {
	text-align: center;
}
.form .submit input {
	vertical-align: bottom;
	padding: 0 20px;
	height: 50px;
	margin-left: 20px;
	font-weight: bold;
	color: #505050;
	cursor: pointer;
	background-color: #eee;
}

.form .submit input.bt_send {
	color: #ffffff;
	background-color: #444;
}
.form .submit p.ERR,
.form span.ERR {
	color: #FF0004;
	}

/* privacy */
.main_area_privacy {
	width: 100%;
	height: 180px;
	background: url(../../privacy/images/main_bg.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.privacy h2,
.privacy h3 {
	margin-bottom: 30px;
}
.privacy p{
	margin-bottom: 55px;
}

