@charset "utf-8";
/* CSS Document */


/****************************************************************************************************

* SmartPhone *

****************************************************************************************************/

/**********************************************
  COLUMN
***********************************************/

header {
	width: 100%;
	margin: 0 0 10px 0;
}
a {
	color: #2b7fc4;
}
/**********************************************
  header
***********************************************/

header {
	position: relative;
	background: url(../images/sp/sp_header_gra.gif) repeat-x left bottom;
	height: 59px;
}
header #head {
	float: left;
	margin: 6px 0 9px 7px;
}
header h1 a {
	width: 100px;
	height: 46px;
	display: block;
}
header h1 {
	background: url(../images/sp/sp_logo.gif) left top no-repeat;
	background-size: contain;
	margin: 0;
}
/**********************************************
  header メニュー
***********************************************/
#menu_btn a {
	float: right;
}
#sp_menu {
	position: relative;
}
#sp_menu nav {
	clear: both;
	display: none;
	margin-bottom: 100em;
	position: relative;
	top: -7px;
	right: 0;
}
#sp_menu nav ul {
	width: 100%;
	background: #fff;
	border: 2px solid #227dc0;
	box-sizing: border-box;
}
#sp_menu nav ul li a {
	font-size: 87.5%;
	font-weight: bold;
	color: #000;
	line-height: 3;
	display: block;
}
#sp_menu nav ul li span {
	display: block;
	padding: 0 7.59493%;
}
#sp_menu nav ul li span.bd_btm {
	border-bottom: 1px solid #227dc0;
}
#sp_menu nav ul li span.ic_menu {
	background: url(../images/sp/ic_arrow.gif) 7.59493% center no-repeat;
	padding: 0 0 0 11%;
}
#pc_menu {
	display: none;
}
#pc_logo02 {
	display: none;
}
#sp_menu nav ul li span.sp_category {
	background-color: #217fc2;
	padding-left: 7%;
}
#sp_menu nav ul li span.sp_category a {
	color: #FFFFFF;
	font-weight: bold;
	font-size: 94%;
	line-height: 1.5;
	padding: 5px 0 5px;
}
/**********************************************
  パンくず
***********************************************/

#breadcrumb {
	clear: both;
	font-size: 70%;
	margin: 0 0 2% 3%;
}
#breadcrumb a.ic_home {
	display: inline-block;
	background: url(../images/tb/ic_home.gif) left top no-repeat;
	width: 16px;
	height: 14px;
	background-size: contain;
	vertical-align: bottom;
}
#breadcrumb a {
	color: #000;
	text-decoration: none;
}
/* ==========================================================================
   見出し
========================================================================== */

.h_base {
	font-size: 114%;
	background: #227dc0;
	padding: 3.5% 0 3.5% 7%;
	margin: 0 0 15px 0;
	color: #fff;
}
.h_base02 {
	border-left: 5px solid #227dc0;
	padding-left: 0.8em;
	font-size: 124%;
}
.h_base_h2 {
	font-size: 114%;
	background: #227dc0;
	padding: 3.5% 0 3.5% 7%;
	margin: 0 0 15px 0;
	color: #fff;
}
.h_base_h2 img {
	display: none;
}
.h_base_03 {
	background: url(../images/tb/ic_square02.gif) 3% center no-repeat;
	border-bottom: 2px dotted #d2d2d2;
	font-size: 120%;
	padding: 2% 0 2.5% 11%;
	margin: 0 0 6% 0;
}
.h_base_04 {
	border: 1px solid #b5b5b5;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;
	border-radius: 7px;
	padding: 5px;
}
.h_base_04 p {
	border-left: 5px solid #217fc4;
	padding-left: 1em;
	padding-bottom: 0.2em;
	margin: 0!important;
}
.h_base_05 {
	border-bottom: 3px double #d2d2d2;
	color: #217fc4;
	font-size: 114%;
	padding-bottom: 3px;
}
.h_base_06 {
	border: 1px solid #b5b5b5;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;
	border-radius: 7px;
	padding: 5px 0 5px 7%;
	font-size: 114%;
	background: url(../images/tb/ic_square03.gif) no-repeat 3% center;
	background-size: 7px 7px;
	margin: 0 0 1em 0;
	font-weight: normal;
}
.quality_h {
	color: #217fc4;
	font-size: 124%;
	font-weight: bold;
}
.quality_h_red {
	color: #e60012;
	font-size: 124%;
	font-weight: bold;
}
.quality_h_red span {
	color: #000;
	font-size: 70%!important;
	font-weight: normal;
}
/* ==========================================================================
   footer
========================================================================== */

footer a {
	color: #b1b1b1;
	text-decoration: none;
}
#footer_logo {
	background: url(../images/sp/sp_logo_02.gif) left top no-repeat;
	background-size: contain;
	max-width: 211px;
	max-height: 20px;
	width: 94%;
	height: auto;
	padding-top: 9.478672985781991%;
	margin: 0 auto;
}
footer ul {
	font-size: 109.375%;
	color: #2b7fc4;
}
footer ul#contact a {
	color: #2b7fc4;
	width: 100%;
}
footer ul li span.tel {
	line-height: 2.37142;
	margin: 0 auto;
	padding: 0.69em 0 0.69em 55px;
	display: block;
	text-align: left;
	width: 170px;
	background: url(../images/sp/ic_tel_sp.png) left center no-repeat;
	background-size: 40px 40px;
}
footer ul li span.mail {
	line-height: 2.37142;
	margin: 0 auto;
	padding: 0.69em 0 0.69em 55px;
	display: block;
	text-align: left;
	width: 170px;
	background: url(../images/sp/ic_mail_sp.png) left center no-repeat;
	background-size: 40px 40px;
}
footer ul li.Tel {
	padding: 0.571429em 0;
	margin: 0 0 2px 0;
	background: linear-gradient(top, #fff, #efefef, #dcdbdb);
	background: -moz-linear-gradient(top, #fff, #efefef, #dbdbdb);
	background: -webkit-linear-gradient(top, #fff, #efefef, #dcdbdb);
}
footer ul li.Mail {
	margin: 0 0 2px 0;
	padding: 0.571429em 0;
	border-top: 2px solid #c9c9c9;
	background: linear-gradient(top, #fff, #efefef, #dcdbdb);
	background: -moz-linear-gradient(top, #fff, #efefef, #dbdbdb);
	background: -webkit-linear-gradient(top, #fff, #efefef, #dcdbdb);
}
footer ul li.zip_address {
	display: block;
	font-size: 93.75%;
	text-align: center;
	border-top: 2px solid #c9c9c9;
	border-bottom: 1px solid #c9c9c9;
	margin: 0 0 0.8125em 0;
	padding: 0.73em 0;
	color: #3A3A3A;
}
.foot_addr {
	display: none;
}
footer ul.foot_menu {
	font-size: 84%;
	text-align: center;
	margin: 0 0 3.5em 0;
	width: 100%;
	display: table;
}
footer ul.foot_menu li {
	border-right: 2px solid #b3b1b1;
	display: table-cell;
	padding: 0.5em 0;
	height: 2.5em;
	vertical-align: middle;
}
footer ul.foot_menu li.access {
	width: 33%;
}
footer ul.foot_menu li.smap {
	width: 33%;
	border: none;
}
#copyright {
	clear: both;
	text-align: center;
}
footer div#copyright span {
	font-size: 75%;
	color: #fff;
	line-height: 3.333333;
	margin: 0;
}
footer div#copyright {
	background: #000;
}
#footer_nav {
	display: none;
}
/* ==========================================================================
   contents
========================================================================== */

/* トップへ戻るアイコン */
.pagetop {
	display: none;
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 70px;
	height: 57px;
}
.pagetop a {
	display: block;
	text-align: center;
}
.pagetop img {
	width: 100%;
	height: auto;
}
.none {
	display: none;
}
.sp_none {
	display: none;
}
a {
	text-decoration: none;
}
ul {
	margin: 0;
	padding: 0;
}
ul li {
	list-style: none;
}
p {
	margin: 0;
	padding: 0;
}
.det_mb {
	margin-bottom: 8%;
}
/* コンテンツ */
section div.detail {
	font-size: 100%;
	margin: 0 auto;
	width: 94%;
	line-height: 1.3;
}
/* 社長ご挨拶 */

section div.detail p.img {
	text-align: center;
	width: 90%;
	margin: 0 auto;
	max-width: 211px;
	max-height: 193px;
}
section div.detail p.img img {
	width: 100%;
	height: auto;
}
section div.detail p.img_greeting {
	background: url(../images/sp/sp_greeting01.jpg) no-repeat left top;
	background-size: contain;
	text-indent: -9999px;
	width: 95%;
	margin: 0 auto;
	padding-top: 98.28009828009828%;
	height: 0;
}
section div.detail p.img_greeting img {
	width: 100%;
	height: auto;
}
section div.detail p.txt02 {
	line-height: 1.8;
	font-size: 108%;
	letter-spacing: 1.8px;
}
#contents {
	margin-bottom: 1.5625em;
}
#contents p {
	margin-bottom: 1em;
}
div.company_policy {
	width: 100%;
	height: auto;
	padding-top: 83.125%;
	background: url(../images/sp/company_policy.jpg) no-repeat left top;
	background-size: contain;
}
div.company_policy span {
	display: none;
}
div.detail_02 {
	width: 100%;
}
/* 沿革 */
dl.outline dt {
	border-left: 3px solid #227dc0;
	padding: 0 0 0 1.25%;
	margin: 0 0 1.6% 0;
}
dl.outline dd {
	margin: 0;
	border-bottom: 1px solid #227dc0;
	padding: 0 0 1.4% 1.25%;
	margin: 0 0 4.2% 0;
}
dl.outline dd.outline_tel a {
	color: #2b7fc4;
}
.outline_dd02_box p {
	margin: 0!important;
}
dl.history {
	margin: 0 0 2% 0;
}
dl.history dt {
	margin: 1% 0 1% 0;
	color: #227dc0;
	font-weight: bold;
}
dl.history dd {
	margin: 0;
	padding: 0 0 1.4% 0;
	width: 100%;
	border-bottom: 1px dashed #cccccc;
}
dl.history dd p {
	text-align: center;
}
dl.history dd p.history_img img {
	width: 100%;
	max-width: 230px;
	max-height: auto;
	min-width: 180px;
}
dl.history dd p.history_img {
	margin: 6% 0 0!important;
}
span.cap {
	display: block;
	margin: 0 0 2% 0;
}
span.img_cap {
	display: block;
	margin: 0 0 2% 0;
	text-align: center;
}
p.history_lastimg {
	text-align: center;
}
p.history_lastimg img {
	width: 100%;
	max-width: 230px;
	max-height: auto;
	min-width: 180px;
}
/* アクセス */
.print_img {
	display: none;
}
div#access p.access_logo {
	font-size: 120%;
	margin: 0 0 2% 0;
}
div#access div.access_map {
	background: url(../images/sp/access_map.gif) left top no-repeat;
	background-size: contain;
	width: 100%;
	height: auto;
	padding-top: 65.8620689655%;
	margin: 0 0 5.78125% 0;
}
div.detail_02 p.company_pict {
	background: url(../images/sp/company_pict.jpg) left top no-repeat;
	background-size: contain;
	width: 100%;
	height: auto;
	padding-top: 67.488%;
	text-indent: -9999px;
	margin: 0 0 1% 0!important;
}
div#access div.access_car img {
	width: 11.25%;
	height: auto;
	float: left;
	margin: 0 7.34375% 0 5%;
}
div#access div.access_train img {
	width: 10.625%;
	height: auto;
	clear: left;
	float: left;
	margin: 0 7.34375% 0 5%;
}
div#access div.access_train {
	margin: 0 0 5.46875% 0;
}
div#access div.access_car p, div#access div.access_train p {
	overflow: hidden;
}
div#access div.access_car span, div#access div.access_train span {
	font-weight: bold;
}
div.detail_02 p.company_pict_cap {
	width: 94%;
	text-align: right;
}
div.detail_02 p.company_pict_cap span {
	display: block;
}
/* 製造部 */
.blue_koga {
	color: #0c65ae;
}
dl.product dt {
	background: -moz-linear-gradient(top, #217fc4, #115c93, #00385f);
	background: -webkit-linear-gradient(top, #217fc4, #115c93, #00385f);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(#217fc4), color-stop(#115c93), color-stop(#00385f));
	background: -o-linear-gradient(top, #217fc4, #115c93, #00385f);
	background: -ms-linear-gradient(top, #217fc4, #115c93, #00385f);
	background: linear-gradient(to bottom, #217fc4, #115c93, #00385f);
	margin: 0 0 2% 0;
	padding: 2.9% 4.6875%;
	text-align: left;
	color: #ffffff;
	line-height: 1;
	font-size: 100%;
}
dl.product dd {
	margin: 0 0 6.6% 0;
	text-align: center;
}
dl.product dd img {
	margin: 0 0 1.875% 0;
	vertical-align: bottom;
	width: 100%;
	max-width: 256px;
	min-width: 180px;
}
dl.product dd p {
	text-align: left;
}
dl.product_02 dt {
	margin: 0 0 2% 0;
	font-size: 100%;
}
dl.product_02 dd {
	margin: 0;
	text-align: center;
}
dl.product_02 dd img {
	margin: 0 0 1.875% 0;
	vertical-align: bottom;
	width: 100%;
	max-width: 256px;
	min-width: 180px;
}
dl.product_02 dd p {
	text-align: center;
}
dl.product_03 {
	margin: 0 0 10% 0;
}
dl.product_03 dt {
	margin: 0 0 5% 0;
	font-size: 100%;
}
dl.product_03 dd {
	margin: 0 0 6.6% 0;
	text-align: center;
}
dl.product_03 dd img {
	margin: 0 0 1.875% 0;
	vertical-align: bottom;
	width: 100%;
	max-width: 256px;
	min-width: 180px;
}
dl.product_03 dd p {
	text-align: center;
}
/* コンテンツ_サイドナビ */
nav#sidenavi {
	display: none;
}
/* 採用情報 */

p.recruit_txt {
	margin-bottom: 3em!important;
}
p.recruit_img {
	width: 96%;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 3em;
}
p.recruit_img img {
	width: 100%;
	height: auto;
	max-width: 400px;
	max-height: 276px;
}
/* 品質への取り組み */

p.txt_quality, p.txt_quality02 {
	text-align: left;
}
p.img_quality, p.img_quality02 {
	text-align: center;
	margin-bottom: 2em;
}
p.img_quality {
	background: url(../images/sp/sp_quality_ASR.gif) no-repeat;
	background-size: 129.5px 181.5px;
	width: 129.5px;
	height: 181.5px;
	margin-left: auto;
	margin-right: auto;
}
p.img_quality img {
	display: none;
}
div.quality_policy {
	border: 2px solid #70b0e0;
	padding: 5%;
	margin-bottom: 2em;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.97, #fff), color-stop(0.50, #bdddf4), color-stop(0.00, #b6d9f3));
	background: -webkit-linear-gradient(top, #b6d9f3 0%, #bdddf4 50%, #fff 97%);
	background: -moz-linear-gradient(top, #b6d9f3 0%, #bdddf4 50%, #fff 97%);
	background: -o-linear-gradient(top, #b6d9f3 0%, #bdddf4 50%, #fff 97%);
	background: -ms-linear-gradient(top, #b6d9f3 0%, #bdddf4 50%, #fff 97%);
	background: linear-gradient(to bottom, #b6d9f3 0%, #bdddf4 50%, #fff 97%);
}
.img_quality02 {
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}
.img_quality02 img {
	width: 100%;
	height: auto;
	max-width: 350px;
	max-height: 249px;
}
div.contact_box {
	border: 1px solid #3d3d3d;
	padding: 5%;
	width: 90%;
	text-align: center;
	margin: 1em auto 1em;
	line-height: 1.5;
}
div.contact_box a {
	color: #2b7fc4;
}
div.contact_box span.ec {
	background: url(../images/pc/ic_square.gif) no-repeat left 4px;
	padding-left: 1.2em;
}
/* 設備一覧 */
.equip_img, .equip_img02 {
	width: 90%;
	margin: 1em auto 2em;
}
.equip_img img {
	width: 100%;
	height: auto;
	max-width: 398px;
	max-height: 258px;
}
.equip_img02 img {
	width: 100%;
	height: auto;
	max-width: 356px;
	max-height: 292px;
	margin-bottom: 2em;
}
dl.accordion {
	background: #fff;
	width: 100%;
	margin: 0 auto;
}
dl.accordion dt {
	background: url(../images/sp/sp_equip_open.gif) no-repeat right center;
	background-size: 37.5px 37.5px;
	padding: 4% 0 4% 0;
	line-height: 1.5;
	color: #333;
	cursor: pointer;
	font-weight: bold;
	border-bottom: solid 1px #e5e5e5!important;
}
dl.accordion dt.open {
	background: url(../images/sp/sp_equip_close.gif) no-repeat right center;
	background-size: 37.5px 37.5px;
}
dl.accordion dt p.equip_accordion {
	background: url(../images/sp/sp_equip_04.png) no-repeat left top;
	background-size: 42.5px 35px;
	padding: 0.5em 0 0.5em 50px;
}
dl.accordion dt p.equip_accordion02 {
	background: url(../images/sp/sp_equip_05.png) no-repeat left top;
	background-size: 42.5px 35px;
	padding: 0.5em 0 0.5em 50px;
}
dl.accordion dt p.equip_accordion03 {
	background: url(../images/sp/sp_equip_06.png) no-repeat left top;
	background-size: 42.5px 35px;
	padding: 0.5em 0 0.5em 50px;
}
dl.accordion dt p.equip_accordion04 {
	background: url(../images/sp/sp_equip_07.png) no-repeat left top;
	background-size: 42.5px 35px;
	padding: 0.5em 0 0.5em 50px;
}
dl.accordion dd {
	clear: both;
	margin: 0;
	display: none;
}
dl.accordion dd table {
	width: 100%;
	font-size: 90%;
	border-bottom: 1px solid #999999;
}
dl.accordion dd table th {
	background-color: #217fc4;
	color: #fff;
	border-left: 1px solid #999999;
	padding: 0.4em 0;
}
dl.accordion dd table th.name {
	width: 35%;
}
dl.accordion dd table th.maker {
	width: 22%;
}
dl.accordion dd table th.siyou {
	width: 35%;
}
dl.accordion dd table th.number {
	width: 8%;
}
dl.accordion dd table td {
	border-left: 1px solid #999999;
	text-align: center;
	padding: 0.5em 0 0.5em 0.3em;
}
dl.accordion dd table tr th:first-child {
	border: none;
}
dl.accordion dd table tr td:first-child {
	border: none;
}
dl.accordion dd table tr:nth-child(2n+1) {
	background-color: #b6d9f3;
}
dl.accordion dd table tr:nth-child(2n+0) {
	background-color: #ffffff;
}
dl.accordion dd table tr.linepacer {
	background-color: #e9d967;
}
/* 関連会社 */

dl.division_summary dt, dl.division_summary02 dt {
	margin: 0 0 0.5em 0;
	padding: 0 0 0 0.5em;
	border-left: 3px solid #227dc0;
	font-size: 114%;
	font-weight: bold;
}
dl.division_summary02 dd {
	width: 90%;
}
dl.division_summary02 dd img {
	width: 100%;
	height: auto;
	max-width: 252px;
	max-height24: px;
}
dl.division_summary dd, dl.division_summary02 dd {
	margin: 0 0 1em 3%;
	padding: 0;
	font-size: 108%;
}
dl.division_summary dd dl, dl.division_summary02 dd dl {
	margin: 0 0 0 2%;
}
dl.division_summary dd dt, dl.division_summary02 dd dt {
	margin: 0;
	padding: 0;
	clear: both;
	float: left;
	border: none;
	width: 30%;
	max-width: 5em;
	margin-bottom: 0.5em;
	font-size: 108%;
	font-weight: normal;
}
dl.division_summary dd dd, dl.division_summary02 dd dd {
	margin: 0;
	padding: 0;
	float: left;
	width: 70%;
	margin-bottom: 0.5em;
}
p.division_pdf, p.division_pdf03 {
	text-align: center;
}
img.division_pdf02 {
	width: 116.5px;
	height: 153.5px;
}
p.division_summary02 {
	margin-bottom: 1.5em!important;
}
li.division_summary02 {
	margin-bottom: 1.5em!important;
	background: url(../images/tb/ic_square03.gif) left 0.5em no-repeat;
	padding-left: 1.5em;
	margin-left: 0.5em;
}
p.division_img {
	width: 96%;
	margin: 0 auto;
}
p.division_img img {
	width: 100%;
	height: auto;
}
ul.division_ex {
	text-align: center;
	width: 96%;
	margin: 0 auto;
}
ul.division_ex li {
	display: inline;
}
ul.division_ex li img {
	margin-right: 40px;
	margin-bottom: 1em;
}
/* サイトマップ */
.sitemap_left a, .sitemap_right a {
	color: #106fb5;
}
.sitemap_left, .sitemap_right {
	font-size: 120%;
}
.sitemap_ti {
	background: url(../images/pc/ic_square.gif) left 0.3em no-repeat;
	background-size: 8px 8px;
	padding-left: 1.5em;
}
.sitemap dt {
	margin: 0 0 3% 0;
}
.sitemap dd {
	background: url(../images/pc/anchor_sm.gif) left top no-repeat;
	margin: 7% 0 7% 2em;
	padding-left: 1.5em;
}
.sitemap dd a {
	padding: 2.5% 0;
}
.sitemap ul {
	padding: 1.5% 0 0;
}
.sitemap ul li {
	background: url(../images/pc/anchor_sm_s.gif) left 0.3em no-repeat;
	margin: 7% 0 8%;
	padding-left: 1em;
}
.sitemap ul li a {
	padding: 3% 0;
}
