@charset "UTF-8";

@media screen and (min-width: 641px){

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

          General Setting

*****************************************/
html,body {
	margin: 0;
	padding: 0;
	font-size: 62.5%; /* 10px */
}
body {
	background: #fff;
	width: 100%;
    color: #231815;
	font-size: 1.4rem; /* 14px */
    font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    line-height: 1.625;
}

img {
   vertical-align: bottom;
}

#contents > p {
	text-align: justify;
 	text-justify: inter-ideograph;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.sp {display: none;}
.pc {display: block;}

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

          Typography

*****************************************/
.red {color: #ff0000;}
.blue {color: #014a96;}
.sml {font-size: 1.2rem; /* 12px */ }
.lrg {font-size: 1.6rem; /* 16px */ }

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

          Link

*****************************************/
a {
	color: #231815;
	text-decoration: none;
}
a:hover {
	color: #231815;
	text-decoration: underline;
}
#contents a:hover img {
	opacity: 0.75;
	filter: alpha(opacity=75);
	-ms-filter: "alpha(opacity=75)";
}

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

          Layout

*****************************************/
#header {
	width: 100%;
}
#contents {
	width: 100%;
}
#footer {
	width: 100%;
	margin-top: 25px;
	margin-bottom: 25px;
}
.wrapper {
	width: 1040px;
	margin: 0 auto;
}
#header .wrapper, #footer .wrapper {
	width: 980px;
	margin: 0 auto;
}
	#lower #contents .wrapper {
		background-color: #eeeeef;
		padding-bottom: 30px;
	}

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

*****************************************/
.flR {float: right;}
.flL {float: left;}
.taR {text-align: right !important;}
.taL {text-align: left !important;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt28 {margin-top: 28px;}
.mt46 {margin-top: 46px;}
.em1 {margin-left: 1em;}

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

          header

*****************************************/
#header .wrapper {
	position: relative;
	height: 80px;
}
#header .wrapper h1 {
	position: absolute;
	top: 26px;
	left: 0;
}
#header .wrapper .hd_tel {
	position: absolute;
	top: 30px;
	right: 0;
}
a[href^="tel:"] { cursor: default; }
a.pc_tel[href^="tel:"] { text-decoration: none; }

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

          nav

*****************************************/
#nav {
	background-color: #014A96;
}
#nav ul {
}
#nav ul:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#nav ul li {
	float: left;
	width: 208px;
	text-align: center;
}
#nav ul li a {
	display: block;
	padding: 10px 0 14px;
	color: #fff;
}
#nav ul li a:hover {
	opacity: 0.75;
	filter: alpha(opacity=75);
	-ms-filter: "alpha(opacity=75)";
}
#nav ul li a img {
	vertical-align: middle;
}

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

          Index
  
************************************************** */
#idx #contents .mainvisual {
	background: url(../images/idx_mainvisual_bg.png) left top no-repeat;
	height: 408px;
	text-align: center;
}
#idx #contents .mainvisual h2 {
	padding-top: 56px;
	font-size: 3.6rem;
}
#idx #contents .mainvisual p {
	padding-top: 36px;
	font-size: 1.8rem;
	line-height: 1.8;
}
#idx #contents .idx_ct {
	position: relative;
	background-color: #014A96;
	width: 1040px;
	height: 360px;
}
#idx #contents .idx_ct ul {
	
}
#idx #contents .idx_ct ul li {
	position: absolute;
	background-color: #fff;
	width: 236px;
	height: 140px;
}
	#idx #contents .idx_ct ul li.ct_01 {
		top: 30px;
		left: 30px;
	}
	#idx #contents .idx_ct ul li.ct_02 {
		top: 30px;
		left: 296px;
	}
	#idx #contents .idx_ct ul li.ct_03 {
		top: 190px;
		left: 30px;
	}
	#idx #contents .idx_ct ul li.ct_04 {
		top: 190px;
		left: 296px;
	}
	#idx #contents .idx_ct ul li.ct_05 {
		top: 30px;
		right: 30px;
		width: 460px;
		height: 300px;
	}
#idx #contents .idx_ct ul li a {
	display: block;
	width: 236px;
	height: 140px;
}
#idx #contents .idx_ct ul li a :hover {
	opacity: 0.75;
	filter: alpha(opacity=75);
	-ms-filter: "alpha(opacity=75)";
}
	#idx #contents .idx_ct ul li.ct_05 a {
		background: url(../images/idx_ct05_bg.png) right bottom no-repeat;
		width: 460px;
		height: 300px;
	}
#idx #contents .idx_ct ul li a h3 {
	padding-top: 18px;
	padding-left: 26px;
	font-size: 2.1rem;
}
	#idx #contents .idx_ct ul li.ct_05 a h3 {
		padding-top: 16px;
		font-size: 2.8rem;
	}
#idx #contents .idx_ct ul li a p {
	padding-top: 18px;
	padding-left: 26px;
	font-size: 1.4rem;
	line-height: 1.8;
}
	#idx #contents .idx_ct ul li.ct_05 a p {
		padding-top: 9px;
	}
	#idx #contents .idx_ct ul li.ct_05 a p span {
		display: block;
		padding-top: 10px;
		font-size: 2rem;
	}
#idx #contents .idx_ct .deco01 {
	position: absolute;
	top: 13px;
	left: 206px;
}
#idx #contents .idx_ct .deco02 {
	position: absolute;
	top: 124px;
	left: 7px;
}
#idx #contents .idx_ct .deco03 {
	position: absolute;
	bottom: 0;
	left: 466px;
}

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

         下層 共通
  
************************************************** */
/* title */
#lower #contents h2 {
	display: table-cell;
	background-color: #fff;
	background-position: center center;
	background-repeat: no-repeat;
	width: 1040px;
	height: 148px;
	font-size: 2.8rem;
	vertical-align: middle;
	text-align: center;
}
	#lower #contents.business h2 {
		background-image: url(../images/business_tit.png);
	}
	#lower #contents.works h2 {
		background-image: url(../images/works_tit.png);
	}
	#lower #contents.company h2 {
		background-image: url(../images/company_tit.png);
	}
	#lower #contents.recruit h2 {
		background-image: url(../images/recruit_tit.png);
	}
	#lower #contents.contact h2 {
		background-image: url(../images/contact_tit.png);
	}
#lower #contents h2 span {
	display: block;
	padding-top: 14px;
	font-size: 1.8rem;
}

/* ぱんくず */
#lower #contents #topicpath {
	background-color: #014A96;
}
#lower #contents #topicpath:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#lower #contents #topicpath li {
	float: left;
	padding-right: 10px;
	color: #fff;
	font-size: 1.2rem;
	line-height: 28px;
}
#lower #contents #topicpath li:before {
	content: ">";
	padding-right: 10px;
}
#lower #contents #topicpath li:first-child:before {
	content: "";
	padding-right: 30px;
}
#lower #contents #topicpath li a {
	color: #fff;
}

/* 左右 */
#lower #contents .wrapper:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#lower #contents #main {
	float: right;
	width: 725px;
	margin-right: 30px;
}
#lower #contents #side {
	float: left;
	width: 225px;
	margin-top: 30px;
	margin-left: 30px;
}

/* 左メニュー */
#lower #contents #side ul {}
#lower #contents #side ul li {}
#lower #contents #side ul li + li {
	margin-top: 5px;
}
#lower #contents #side ul li a {
	display: block;
	background: #014A96 url(../images/side_nav_icon.png) 17px center no-repeat;
	padding: 15px 17px 15px 45px;
	color: #fff;
	font-size: 1.6rem;
}
#lower #contents #side ul li a:hover {
	opacity: 0.75;
	filter: alpha(opacity=75);
	-ms-filter: "alpha(opacity=75)";
}

/* h3 */
#lower #contents #main h3 {
	background-position: left top;
	background-repeat: no-repeat;
	width: 725px;
	height: 92px;
	padding: 0;
	font-size: 2.2rem;
	line-height: 1;
}
	#lower #contents #main h3.bg01 {
		background-image: url(../images/tit_bg_01.png);
		margin-top: 13px;
		padding-top: 36px;
	}
	#lower #contents #main h3.bg02 {
		background-image: url(../images/tit_bg_02.png);
		margin-top: 24px;
		padding-top: 44px;
	}
	#lower #contents #main h3.bg03 {
		background-image: url(../images/tit_bg_03.png);
		height: 98px;
		margin-top: 25px;
		padding-top: 44px;
	}
	
/* 青見出し */
#lower #contents #main dl.blue_pt {
}
#lower #contents #main dl.blue_pt > dt {
	color: #014A96;
	font-size: 1.9rem;
	font-weight: bold;
}
#lower #contents #main dl.blue_pt > dd {
}

/* 青背景 */
#lower #contents #main .bg_blue {
	background-color: #014A96;
	color: #fff;
}

/* テキスト */
#lower #contents #main .txt {
	font-size: 1.7rem;
}

/* table */
#lower #contents #main .cmn_tbl {
	width: 100%;
	font-size: 1.7rem;
}
#lower #contents #main .cmn_tbl th {
	border: 1px solid #595757;
	background-color: #dbdcdc;
	padding: 12px 14px;
}
#lower #contents #main .cmn_tbl td {
	border: 1px solid #595757;
	background-color: #fff;
	padding: 12px 14px;
}

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

          会社案内

*****************************************/
/* 地図 */
#lower #contents.company #main .map {
	border: 1px solid #595757;
	line-height: 0;
}
/* table */
#lower #contents.company #main .cmn_tbl th {
	width: 190px;
	white-space: nowrap;
}

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

          事業内容

*****************************************/
/* 青背景 */
#lower #contents.business #main .bg_blue ul {
	padding: 26px;
}
#lower #contents.business #main .bg_blue ul li {
	border: 1px solid #fff;
}
#lower #contents.business #main .bg_blue ul li + li {
	margin-top: 10px;
}
#lower #contents.business #main .bg_blue ul li dl {
}
#lower #contents.business #main .bg_blue ul li dl dt {
	display: table-cell;
	width: 210px;
	padding-left: 26px;
	font-size: 2.1rem;
	vertical-align: middle;
}
#lower #contents.business #main .bg_blue ul li dl dd {
	display: table-cell;
	padding: 20px 10px 20px 0;
	vertical-align: middle;
	line-height: 1.8;
}

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

          実績紹介

*****************************************/
/* table */
#lower #contents.works #main .cmn_tbl th {
	width: 210px;
	white-space: nowrap;
}
#lower #contents.works #main .cmn_tbl th .era {
	font-size: 1.4rem;
}

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

          お問い合わせ

*****************************************/
#lower #contents.contact #main {
	float: none;
	width: 810px;
	margin: 0 auto;
}
/* h3 */
#lower #contents.contact #main h3 {
	background-image: url(../images/tit_bg_01_w.png);
	background-position: left top;
	background-repeat: no-repeat;
	width: 810px;
	height: 92px;
	margin-top: 13px;
	padding-top: 36px;
	font-size: 2.2rem;
	line-height: 1;
}
/* btn_contact */
#lower #contents.contact #main .btn_contact {
}
#lower #contents.contact #main .btn_contact:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#lower #contents.contact #main .btn_contact li {
	float: left;
}
#lower #contents.contact #main .btn_contact li + li {
	margin-left: 50px;
}
#lower #contents.contact #main .btn_contact li a {
	display: block;
	background-color: #014A96;
	width: 380px;
	height: 100px;
	color: #fff;
	font-size: 2.4rem;
	text-align: center;
	line-height: 100px;
}
#lower #contents.contact #main .btn_contact li.mail a:hover {
	opacity: 0.75;
	filter: alpha(opacity=75);
	-ms-filter: "alpha(opacity=75)";
	text-decoration: none;
}

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

          Footer

*****************************************/
#footer .wrapper {
	position: relative;
	height: 120px;
}
#footer .wrapper .ft_logo {
	position: absolute;
	top: 0;
	left: 0;
}
#footer .wrapper .ft_info {
	position: absolute;
	bottom: 0;
	left: 0;
}
#footer .wrapper .ft_nav {
	position: absolute;
	top: 75px;
	left: 420px;
}
#footer .wrapper .ft_nav:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#footer .wrapper .ft_nav li {
	float: left;
	padding-right: 15px;
	font-size: 1.3rem;
}
#footer .wrapper .ft_nav li:before {
	content: ">";
	padding-right: 6px;
}
#footer .wrapper .ft_cr {
	position: absolute;
	bottom: 0;
	left: 420px;
	font-size: 1.2rem;
}

}
