@charset "UTF-8";
/************************************************ */
/* 共通 */
/************************************************ */
html,body{
	height:100%;
}

body {
  -webkit-text-size-adjust: 100%;
}

body, input, select, textarea {
  font-size: 17px;
}

img {
  vertical-align: bottom;
}

a {
  color: #000000;
  text-decoration: none;
}
a:hover{
  text-decoration: underline;
}

a:hover img{
	opacity:0.7;
}

/************************************************ */
/* 汎用 */
/************************************************ */
.inner{
	width:1001px;
	margin:auto;
	clear: both;
}

.inner:after,.wrapper:after{
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
ul.inline{
	font-size:0;
}
ul.inline li{
	display:inline-block;
	vertical-align:top;
	font-size:17px;
}
ul.inline li:first-of-type{
	margin-left:0;
}
dl.inline{
	overflow:hidden;
}
dl.inline dt{
	float:left;
	clear:left;
}
.wrap:after{
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

.left{
	float:left;
}

.right{
	float:right;
}
.center{
	text-align:center;
	margin:auto;
}
img.center{
	display:block;
	margin:auto;
}
/************************************************ */
/* ヘッダー */
/************************************************ */
header{
	width:1001px;
	margin:auto;
	font-family:Meiryo;
	padding-top:20px;
	position:relative;
	height:135px;
	margin-bottom:28px;
}

#logo{
	position:absolute;
	bottom:0;
	left:0;
}
#logo+div{
	float:right;
	text-align:right;
}
#description{
	font-size:15px;
	color:#717071;
	margin-bottom:20px;
}
#description span{
	letter-spacing: 6px;
}
.h_link{
	line-height:27px;
}
.h_tel{
	float:right;
	margin-bottom:34px;
}
.h_link li{
	display:inline-block;
	background:url("../images/arrow_red.gif") no-repeat left center;
	padding-left:15px;
	font-size:11px;
	margin-right:35px;
}

.glonavi{
	background:url("../images/navi_border.gif") no-repeat right center;
	position:absolute;
	right:0;
	bottom:0;
}

.glonavi li{
	display:inline-block;
	width:145px;
	height:43px;
	text-align:center;
	line-height:43px;
	background:url("../images/navi_border.gif") no-repeat left center;
}
/************************************************ */
/* コンテンツ */
/************************************************ */
#wrapper{
	clear:left;
  	position:relative;
	min-height:100%;
}
#container{
	overflow:hidden;
	width:1001px;
	margin:auto;
	padding-bottom:207px;

}
#content{
	float:left;
	width:640px;
}
.top_page #content{
	width:580px;
}

/************************************************ */
/* サイド */
/************************************************ */
#side{
	float:right;
	width:321px;
}

#side>ul{
	list-style:none;
}
#side>ul>li{
	margin-bottom:35px;
}
#side li ul{
	padding:25px 29px;
	list-style-type:disc;
	list-style-position:inside;
	border:1px solid #DADBDB;
	border-top:none;
}
#side li li{
	margin-bottom:24px;
	font-size:13px;
}

.top_page #side{
	width:389px;
}
/************************************************ */
/* フッター */
/************************************************ */
footer{
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-526px;
	width:1053px;
	background:url("../images/footer_bg.gif") repeat-x;
	color:#ffffff;
}

footer a{
	color:#ffffff;
}

footer .f_logo{
	float:left;
	width:310px;
	text-align:center;
	height:188px;
	line-height:188px;
	background:url("../images/footer_bg.gif") repeat-x;

}
footer .f_logo img{
	vertical-align:middle;
}
.f_column{
	float:left;
}
.f_link{
	background:rgba(255,255,255, 0.1);
	float:right;
	padding:15px 30px 0 15px;
	height:173px;
}

.f_column ul{
	list-style-position:inside;
}

.f_column h3{
	font-size:13px;
	padding-bottom:10px;
}
.f_column h4{
	font-size:13px;
	padding-bottom:5px;
}
.f_column ul li {
	font-size:11px;
	line-height:15px;
}
.column_left{
	width:158px;
}
.column_center{
	width:410px;
}
.column_center div ul:first-of-type{
	margin-bottom:12px;
}

.column_center ul li:last-of-type{
	margin-bottom:0;
}
.column_center div:nth-of-type(odd){
	width:165px;
	margin-right:20px;
}
.column_center div:nth-of-type(even){
	width:225px;
}
.column_right{
	margin-right:20px;
}

.column_right ul{
	list-style:none;
	margin-top:5px;

}
.column_right ul li{
	margin-bottom:10px;
}
footer .copy{
	clear:both;
	width:100%;
	background:#3D3938;
	color:#ffffff;
	text-align:center;
	height:23px;
	line-height:23px;
}
/************************************************ */
/* TOPページ */
/************************************************ */
.top_page .main{
	margin-bottom:41px;
}
.top_page #content h2{
	margin-bottom:40px;
}
.top_page #content .column_list{
	font-size:0;
}
.top_page #content .column{
	display:inline-block;
	vertical-align:top;
	margin:0 13px 13px 0;
	border:solid 3px #DB0000;
	height:315px;
}
.top_page #content .column:nth-of-type(even){
	margin-right:0;
}
.top_page #content .column ul{
	margin:17px 0 0 27px;
}
.top_page #content .column ul li{
	margin-bottom:12px;
}

.top_page #content .column a:hover img{
	opacity:0.5;
}
.top_page #side h3{
	margin-bottom:36px;
}
/************************************************ */
/* 下層ページ共通 */
/************************************************ */
.company h2,
.business h2,
.contact h2,
.sitemap h2,
.recruit h2,
.permission h2{
	position:relative;
	margin-bottom:52px;
}
.company h2 ol,
.business h2 ol,
.contact h2 ol,
.sitemap h2 ol,
.recruit h2 ol{
	position:absolute;
	left:270px;
	line-height:73px;
	top:0;
	font-size:13px;
	color:#221814;
	font-weight:normal;
}
.company h2 li,
.business h2 li,
.contact h2 li,
.sitemap h2 li,
.recruit h2 li{
	display:inline-block;
}
/************************************************ */
/* 会社概要 */
/************************************************ */
.company #content section{
	margin-bottom:40px;
}
.company #content h3{
	margin-bottom:40px;
}

.company #content .message h4{
	margin:0 0 36px 13px;
}
.company #content .message p{
	width:420px;
	line-height:30px;
}

.company #content table,
.company #content table th,
.company #content table td{
	border:1px solid #DADBDB;
	font-size:16px;
}
.company #content table{
	width:639px;
}
.company #content table th{
	background:#F7F7F7;
	font-weight:normal;
	text-align:left;
	width:101px;
	padding:15px 30px;
}

.company #content table td{
	padding:15px 30px;
	line-height:23px;
}

.company #content table dt{
	float:left;
	clear:left;
	width:150px;
}
.company #content table dd{
	padding-left:150px;
}

.company #content table h4{
	font-weight:normal;
	margin-top:10px;
}

.company #content table h4:first-of-type{
	margin-top:0;
}
.company #content table p{
	font-size:12px;
	text-indent:12px;
}
.company #content .access h4{
	margin-bottom:20px;
}
.company #content .access div{
	margin-bottom:48px;
}
.company #content .access p{
	margin-top:23px;
	font-size:13px;
	line-height:20px;
}
/************************************************ */
/* 事業内容 */
/************************************************ */

.business #content section{
	margin-bottom:55px;
}
.business .summary h3{
	margin-bottom:27px;
}
.business .summary{
	line-height:35px;
}
.business .service h4{
	margin-bottom:35px;
}
.business .service h5{
	margin-left:22px;
	font-weight:normal;
	font-size:16px;
	padding-bottom:15px;
	background:url("../images/business/h5_bar.gif") no-repeat left bottom;
	margin-bottom:15px;
	margin-top:45px;
}
.business .service h5:first-of-type{
	margin-top:0;
}

.business .service ul{
	list-style:none;
	margin-left:40px;
	display:inline-block;
	vertical-align:top;
}
.business .service li{
	line-height:25px;
	margin-left:20px;
	text-indent:-20px;
	margin-bottom:10px;
}
.business .service li span{
	color:#DC0000;
	font-size:12px;
	margin-right:8px;
}
.business .service p{
	margin-left:40px;
	line-height:35px;
	margin-top:30px;
}
.business .photo{
	border:1px solid #DADBDB;
	text-align:center;
	padding:20px 0;
}
.business .photo li{
	display:inline-block;
	vertical-align:top;
}
.business .photo li:nth-of-type(odd){
	margin-right:26px;
}

.business .photo li:nth-of-type(2){
	margin-bottom:20px;
}
.business h3+p+img,
.business h4+img{
	display:block;
	margin:40px auto;
}
.business dl{
	margin:40px 0;
}
.business dl dt{
	float:left;
	clear:left;
	width:122px;
	height:97px;
	margin-bottom:10px;
}
.business dl dd{
	padding-left:122px;
	height:97px;
	font-size:13px;
	line-height:20px;
	position:relative;
	margin-bottom:10px;
}
.business dl dd p{
	position:absolute;
	top:50%;
	left:122px;
	width:100%;
	-webkit-transform: translate(0,-57%);
	-moz-transform: translate(0,-57%);
	transform: translate(0,-57%);

}

.business #content .margin_ratio section a {
	text-decoration: underline;
	color: #db0000;
}

/************************************************ */
/* お問合せ */
/************************************************ */

.contact table{
	width:639px;
	border:1px solid #DADBDB;
	margin-top:34px;
}
.contact table th, .contact table td{
	border:1px solid #DADBDB;
}

.contact table th{
	background:#F7F7F7;
	width:166px;
	font-weight:normal;
	text-align:left;
	padding:15px 0 15px 15px;
	vertical-align: top;
}

.contact #button{
	margin: 55px auto;
	text-align: center;
}
.contact #button form {
	display: inline-block;
	vertical-align: middle;
}
.contact #button input {
	background:url("../images/contact/button.gif") no-repeat center center;
	width: 196px;
	height: 40px;
	text-align: left;
	text-indent: -100%;
	white-space: nowrap;
	overflow: hidden;
	border: none;
	cursor: pointer;
}
.contact #button input#return {
	background:url("../images/contact/return_button.gif") no-repeat center center;
	margin-right: 40px;
}
.contact #button input#submit {
	background:url("../images/contact/submit_button.gif") no-repeat center center;
}
.contact #button input:hover {
	opacity: 0.8;
}
.contact .privacy{
	height:200px;
	width:90%;
	margin:10px auto;
	overflow:auto;
	overflow-y:scroll;
	border:1px solid #CCCCCC;
	padding:11px;
	font-size:12px;
	line-height:18px;
}
.contact .privacy h3{
	font-size:17px;
	margin-bottom:10px;
}
.contact .privacy h4{
	font-size:14px;
}
.contact .privacy p{
	margin-bottom:10px;
}

.contact .privacy+p{
	font-size:15px;
	width:90%;
	margin:10px auto;
}
.contact .red {
	color: #f00;
}
.contact input[type="text"] {
	box-sizing: border-box;
	margin-left: 10px;
	margin-top: 10px;
	width: 300px;
}
.contact input[name="郵便番号"] {
	width: 100px;
}
.contact input[name="TEL"] {
	width: 150px;
}
.contact .error {
	margin-left: 10px;
	margin-top: 4px;
	font-size: 14px;
	color: #f00;
	padding-bottom: 10px;
}
.contact textarea {
	margin: 10px;
	height: 100px;
	width: 400px;
    resize: vertical;
}
.contact #confirm_table td {
	padding: 15px;
}
.contact #top_text {
	margin-top: 10px;
}
.contact select {
	margin-top: 10px;
	margin-left: 10px;
}
.contact #complete_text {
	margin-top: 33px;
	border-top: 1px solid  #DADBDB;
	border-bottom: 1px solid  #DADBDB;
	padding: 96px 0;
	text-align: center;
	font-size: 16px;
	color: #000;
	line-height: 1.93em;
}
.contact #goto_top {
	margin: 55px auto 0;
	width: 180px;
}
.contact #goto_top a {
	display: block;
	width: 100%;
	height: 40px;
	background: url(../images/contact/top.gif) no-repeat;
	text-indent: -100%;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
}
.contact #goto_top a:hover {
	opacity: 0.8;
}
/************************************************ */
/* サイトマップ */
/************************************************ */
.sitemap #content section{
	border:1px solid #DADBDB;
	margin-bottom:30px;
	padding:34px 24px;
	font-size:15px;
	font-family:Meiryo;
}
.sitemap #content h3{
	background:url("../images/sitemap/arrow.gif") no-repeat left center;		height:28px;
	line-height:28px;
	padding-left:40px;
	display:inline-block;
	width:150px;
	font-size:19px;
	font-weight:normal;
}
.sitemap #content ul{
	list-style:none;
	display:inline-block;
	vertical-align:top;
}

.sitemap #content ul li{
	display:inline-block;
	width:180px;
}

.sitemap #content ul li span{
	color:#DC0000;
	font-size:15px;
	margin-right:8px;
}
.sitemap #content h4{
	font-weight:normal;
	font-size:16px;
	margin-bottom:8px;
}
.sitemap #content .business  li li{
	padding-left:25px;
	margin:8px 0;
	font-size:13px;

}
.sitemap #content .business h3{
	margin-bottom:20px;
}
.sitemap #content .business li{
	width:290px;
	margin:15px 0;
}

.sitemap #content .business li.nowrap{
	width:400px;
}
/************************************************ */
/* 採用情報 */
/************************************************ */
.recruit section{
	border-top:1px solid #DADBDB;
	border-bottom:1px solid #DADBDB;
	line-height:260px;
	text-align:center;
	font-size:20px;
	font-family:Meiryo;
	color:#3E3939;
}

/************************************************ */
/* 取得許可 */
/************************************************ */

.permission .summary h3{
	margin-bottom:27px;
}

.permission_wrap {
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
}

.permission_table {
	margin-left: 50px;
}

.permission_item {
	margin: 0;
	display: flex;
	font-size: 12px;
	margin-bottom: 1em;
}

.permission_title {
	margin: 0;
	width: 8em;
}

.permission_value {
	margin: 0;
}

.permission_image {
	margin-right: 32px;
}
.t_news {
    margin-bottom:  50px;
    background: #ececec;
    padding-top: 1px;
    margin-top: 20px;
    padding-bottom: 28px;
}
.t_news a,.t_news p {
    display:  block;
    margin-top:  30px;
    font-size:  14px;
    margin-left:  55px;
}
.t_news a span,.t_news p span {
    color: #db0000;
    margin-right:  15px;
}
.t_news a:hover {
    color: #db0000;
    text-decoration:  none;
}
span.bill {
    clear: both;
    display: block;
    margin-left: 30px;
    margin-top: 5px;
    font-size: 13px;
    line-height: 18px;
}
.t_news p span.bill {color: #0054b3;font-size: 13px;}