﻿@charset "utf-8";

/*==============================================================================
  General Setting
================================================================================*/
* {
  margin: 0;
  padding: 0;
}
body {
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',Arial, Helvetica, sans-serif;
  font-size: 14px;
  color: #1e1e1e;
  line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
/* Link
----------------------------------------*/
a, a:link, a:visited {
  color: #1e1e1e;
  text-decoration: none;
}
a:hover, a:active {
  text-decoration: underline;
}
a {
  outline: none;
}
a.underline, a.underline:link, a.underline:visited {
  text-decoration: underline;
}
a.underline:hover, a.underline:active {
  text-decoration: none;
}
/* List
----------------------------------------*/
ul, ol, li, dd, dt, dl {
  list-style-type: none;
}
/* Table
----------------------------------------*/
table {
  width: 100%;
  border-collapse: collapse;
}
/* Text
----------------------------------------*/
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}
.txt_s12 {
	font-size: 12px;
}
.txt_bl {
	color: #83a5fb;
}
.txt_red {
	color: #ff3900;
}

/* Image
----------------------------------------*/
img, a img {
  border-style: none;
  vertical-align: bottom;
}
a img.trans:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
}
img.mdl {
	vertical-align: middle;
}

/*==============================================================================
  Basic Layout
================================================================================*/
.wrap {
	width: 900px;
	margin: 0 auto;
}
#main {
	float: left;
	width: 695px;
}
#side {
	float: right;
	width: 185px;
}

/*==============================================================================
  Header
================================================================================*/
h1 {
	float: left;
	width: auto;
	font-size: 18px;
}
#header p {
	float: right;
}

/*==============================================================================
  Global Menu
================================================================================*/
#gmenu {
	margin-bottom: 30px;
	border-bottom: #30a78f solid 3px;
}
.home #gmenu {
	margin-bottom:0;
}
#gmenu ul {
	width: 904px;
	margin: 0 auto;
}
#gmenu ul li {
	float: left;
	width: auto;
}

/*==============================================================================
  Side
================================================================================*/
#smenu ul {
	margin-bottom: 15px;
}
#smenu ul li {
	margin-bottom: 7px;
}
#company_info {
	height: 76px;
	line-height: 1.4;
	padding: 18px 0 0 12px;
	font-size: 10px;
	background: url(../images/common/bg_company_info.gif) left center no-repeat;
}
#company_info p:first-child {
	margin-bottom: 4px;
	font-size: 12px;
}
#page_menu {
	margin-bottom: 50px;
	padding: 10px 8px;
	background: #e1e9fe;
}
#page_menu ul li {
	padding: 8px 0 8px 30px;
	border-bottom: #727272 dashed 1px;
	background: url(../images/common/arrow_gr.png) 10px center no-repeat;
}
#page_menu ul li:first-child {
	border-top: #727272 dashed 1px;
}

/*==============================================================================
  Footer
================================================================================*/
#footer {
	margin: 100px 0 50px;
	border-top: #7a7979 solid 1px;
}
#footer p {
	text-align: center;
	font-size: 10px;
}
#footer p:first-child {
	padding-top: 15px;
	text-align: right;
	font-size: 12px;
}
#footer p:first-child:before {
	content: url(../images/common/arrow_gy.gif);
}

/*==============================================================================
  Contents
================================================================================*/
h2 {
	margin-bottom: 15px;
	border-bottom: #9cb7fc solid 1px;
}
div.home h2 {
	border-bottom: none;
}
h3 {
	margin-bottom: 15px;
}
.page_title {
	display: block;
	width: 900px;
	margin: 0 auto;
}
h4 {
	font-size: 15px;
	font-weight: normal;
}

/* PAGE TOP
----------------------------------------*/
#page_top {
	margin-bottom: 35px;
	text-align: right;
	font-size: 12px;
}

/* HOME
----------------------------------------*/
div.home ul {
	margin-bottom: 30px;
}
div.home ul li {
	float: left;
	width: auto;
}
div.home ul li.brd_b {
	border-bottom: #b8b8b8 dashed 1px;
}
div.home ul li.brd_r {
	border-right: #b8b8b8 dashed 1px;
}
div.home ul + p {
	text-align: right;
}

/* COMPANY
----------------------------------------*/
div.company table {
	margin-bottom: 5px;
	font-size: 12px;
}
div.company table.mb35 {
	margin-bottom: 35px;
}
div.company table th {
	padding: 8px 0 8px 15px;
	text-align: left;
	font-weight: normal;
	background: #f0f3fb;
	border: #83a5fb solid 1px;
	border-left: none;
}
div.company table td {
	padding: 8px 0 8px 15px;
	border-top: #83a5fb solid 1px;
	border-bottom: #83a5fb solid 1px;
}
div.map {
	margin: 25px 0;
}
div.map small {
	display: block;
	text-align: right;
}
div.company ul {
	float: left;
	width: 33%;
}
div.company ul li {
	margin-bottom: 2px;
	/*font-size: 12px;*/
	font-size: 11px;
}
div.company ul.business_link {
	float: none;
	width: 100%;
	margin-bottom: 15px;
}
div.company ul.business_link li {
	display: inline;
	margin-right: 10px;
	margin-bottom: 0;
	padding-left: 12px;
	background: url(../company/images/arrow.gif) left center no-repeat;
}

div.company dl {
	margin-bottom: 20px;
	border-left: #83a5fb solid 10px;
	overflow: hidden;
}
div.company dl dt {
	float: left;
	width: 200px;
	padding-left: 10px;
}
div.company dl dd {
	margin-left: 20px;
	padding: 0 20px 0 220px;
	font-size: 12px;
	background: #eff2fb;
}
div.company dl dd ul {
	float: none;
	width: auto;
	padding-top: 5px;
}
div.company dl dd ul li {
	display: inline;
	margin-right: 20px;
	padding-left: 15px;
	font-size: 20px;
	background: url(../company/images/circle.png) left center no-repeat;
}
div.company dl dt,
div.company dl dd {
padding-bottom: 32768px;
margin-bottom: -32768px;
}

/** 2021/07 add **/
.company_message {
  width: 500px;
  margin: auto;
}
.company_message p {
  text-indent: 1em;
}

/** 2022/08 add **/
.recruit_banner {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-top: 50px;
}
.recruit_banner figure {
	width: 40%;
}
.recruit_banner figure img {
	width: 100%;
}

/* WORKS
----------------------------------------*/
div.works dl {
	float: left;
	width: 450px;
	margin-bottom: 20px;
	font-size: 12px;
	border-top: #83a5fb solid 1px;
}
div.works dt {
	float: left;
	clear: both;
	width: 145px;
	height: 42px;
	line-height: 40px;
	padding-top: 3px;
	padding-left: 50px;
	border-right: #83a5fb dotted 1px;
	border-bottom: #83a5fb solid 1px;
	background: url(../images/common/btn_pdf.gif) 10px center no-repeat;
}
div.works dd {
	width: 244px;
	height: 45px;
	line-height: 45px;
	margin-left: 195px;
	padding-left: 10px;
	border-bottom: #83a5fb solid 1px;
}
div.works p.anime {
	float: right;
	width: 166px;
}
div.works table {
	margin-bottom: 5px;
	font-size: 12px;
}
div.works table th {
	padding: 5px 0;
	font-weight: normal;
	background: #f0f3fb;
	border: #83a5fb solid 1px;
	border-right: none;
}
div.works table td {
	padding: 3px 0 3px 10px;
	border: #83a5fb solid 1px;
	border-right: none;
}
div.works table tr th:first-child,
div.works table tr td:first-child {
	border-left: none;
}

/* CONTACT
----------------------------------------*/
div.contact div {
	margin: 15px 0 60px;
	padding: 10px;
	border: #83a5fb solid 2px;
}
div.contact table {
	margin: 15px 0 30px;
}
div.contact table th {
	width: 32%;
	padding: 10px 0 10px 10px;
	text-align: left;
	vertical-align: top;
	font-weight: normal;
	background: #ebecec;
	border: #b6b6b6 solid 1px;
}
div.contact table th span {
	color: #ff3900;
}
div.contact table td {
	padding: 10px 0 0 20px;
	border: #b6b6b6 solid 1px;
}
div.contact table td input {
	margin-bottom: 10px;
}
div.contact table td input[type=text] {
	width: 60%;
	height: 25px;
}
div.contact table td textarea {
	width: 80%;
	margin-bottom: 10px;
}
div.contact div#form_btn {
	margin: 0;
	padding: 0;
	border: none;
	text-align: center;
}
div.contact div#form_btn input:first-child {
	margin-right: 20px;
}
div.contact div#form_btn input:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
}
div.contact.thanks p {
	margin-bottom: 20px;
}
#alert {
	visibility: hidden;
	margin: 0;
	padding: 0;
	padding-bottom: 5px;
	color: #FF3900;
	border: none;
}

/* mail.php */
#form_submit {
	width: 72px;
	height: 22px;
	margin-right: 20px;
	border: none;
	background: url(../contact/images/btn_submit.gif) left center no-repeat;
}
#form_back {
	display: block;
	width: 114px;
	height: 22px;
	margin: 30px auto;
	border: none;
	background: url(../contact/images/btn_back.gif) left center no-repeat;
}
#form_back02 {
	width: 114px;
	height: 22px;
	border: none;
	background: url(../contact/images/btn_back.gif) left center no-repeat;
}
#form_submit:hover,
#form_back:hover,
#form_back02:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
}

/* LINK
----------------------------------------*/
div.link dl {
	margin-bottom: 20px;
}
div.link dt {  
	float: left;
	clear: both;
	width: 328px;
	line-height: 40px;
	margin-bottom: 20px;
	padding-left: 32px;
	background: url(../link/images/arrow.gif) 10px center no-repeat;
}  
div.link dd {  
	width: 120px;
	margin-bottom: 20px;
	margin-left: 360px;
}

/* SITEMAP
----------------------------------------*/
div.sitemap h3 {
	margin-bottom: 25px;
	padding: 5px 0 5px 30px;
	background: url(../sitemap/images/arrow.png) 10px center no-repeat #e1e9fe;
}
div.sitemap h3 {
	margin-bottom: 25px;
	padding: 5px 0 5px 30px;
	background: url(../sitemap/images/arrow.png) 10px center no-repeat #e1e9fe;
}
div.sitemap ul {
	margin: -13px 0 25px;
}
div.sitemap ul li {
	padding-left: 40px;
	background: url(../sitemap/images/arrow.gif) 30px center no-repeat;
}

/*==============================================================================
  Margin
================================================================================*/
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb35 {
	margin-bottom: 35px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb100 {
	margin-bottom: 100px;
}

/*==============================================================================
  Clearfix
================================================================================*/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */