@charset "UTF-8";
@import url("layout.css");
@import url("reset.css");
p {
  font-size: 108% !important; }

/*: 見出し ::::::::::::::::::::::::::::::::::::::::::::::::::*/
h1, h2, h3, h4, h5, h6 {
  line-height: 1.5em; }

/* --------- 色付き太字 ------------------------------ */
.h-type01 {
  color: #000066;
  font-size: 186%;
  font-weight: normal; }
  @media (max-width: 767px) {
    .h-type01 {
      font-size: 143%; } }

/* --------- 帯・白文字 ------------------------------ */
.h-type02 {
  background: url(../img/bg_h-type02_1.gif) no-repeat left bottom, url(../img/bg_h-type02_2.gif) repeat-x bottom;
  color: #000066;
  font-size: 158%;
  font-weight: bold;
  line-height: 1em;
  margin-bottom: 20px;
  padding-bottom: 12px;
  position: relative; }
  .h-type02 .sub {
    font-weight: normal;
    display: block;
    font-size: 86%;
    line-height: 2em; }

/* --------- 青文字 ------------------------------ */
.h-type03 {
  color: #333385; }

/* --------- 青帯・角丸・白文字 ------------------------------ */
.h-type04 {
  background: #343385;
  color: #FFF;
  padding: 5px;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  -moz-border-radius: 30px; }

/* --------- オレンジ斜線が背景 ------------------------------ */
.h-type05 {
  background: url(../../img/bs_img08.png);
  padding: 10px 20px; }

/* --------- オレンジ色が背景 ------------------------------ */
.h-type06 {
  background: #FF8000;
  padding: 10px 20px; }
  @media (max-width: 767px) {
    .h-type06 {
      padding: 20px; } }

/* --------- 青斜線が背景 ------------------------------ */
.h-type07 {
  background: url(../../img/bs_engineer_img09.png);
  padding: 10px 20px; }

/* --------- 青色が背景 ------------------------------ */
.h-type08 {
  background: #00A3D9;
  padding: 10px 20px; }
  @media (max-width: 767px) {
    .h-type08 {
      padding: 20px; } }

/* --------- 緑斜線が背景 ------------------------------ */
.h-type09 {
  background: url(../../img/bs_manufacture_img09.png);
  padding: 10px 20px; }

/* --------- 緑色が背景 ------------------------------ */
.h-type10 {
  background: #59B200;
  padding: 10px 20px; }
  @media (max-width: 767px) {
    .h-type10 {
      padding: 20px; } }

/* --------- 青斜線の帯・青文字（新卒採用） ------------------------------ */
.h-requirements-new {
  background: url(../../img/requirements_img03.png);
  color: #343385;
  padding: 10px 15px;
  line-height: 1em; }

/* --------- 緑斜線の帯・緑文字（中途採用） ------------------------------ */
.h-requirements-midway {
  background: url(../../img/requirements_img04.png);
  color: #649F00;
  padding: 10px 15px;
  line-height: 1em; }

/* --------- カラー文字 ------------------------------ */
/* --------- 一部強調文字 ------------------------------ */
/* --------- 下線あり ------------------------------ */
/*: box ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* --------- 背景が白 ------------------------------ */
.box-type1 {
  background: #FFF;
  padding: 30px;
  /* SP */ }
  @media (max-width: 768px) {
    .box-type1 {
      padding: 15px; } }

/* --------- 背景がグレー ------------------------------ */
.box-type2 {
  background: #E9E9E9;
  padding: 15px; }

/* --------- 背景なし、ラインのみ。 ------------------------------ */
.box-type3 {
  padding: 15px;
  border: 1px solid #999999; }

/* --------- 内側15pxのみ ------------------------------ */
.box-type4 {
  padding: 0 15px; }

/* --------- 内側30pxのみ ------------------------------ */
.box-type5 {
  padding: 0 30px; }

/* --------- 背景が水色 ------------------------------ */
.box-lightblue {
  background: #C8E8F7;
  padding: 30px;
  /* SP */ }
  @media (max-width: 768px) {
    .box-lightblue {
      padding: 15px; } }

/* --------- 背景が赤色 ------------------------------ */
.box-red {
  background: #FFE1E2;
  padding: 15px;
  /* SP */ }
  @media (max-width: 768px) {
    .box-red {
      padding: 15px; } }

/* --------- 背景が黄色 ------------------------------ */
.box-yellow {
  background: #F4F4E9;
  padding: 15px; }

.back-gray {
  background: #F4F3F1;
  padding: 40px 0;
  margin-top: 40px; }
  .back-gray .container {
    margin-top: 0 !important; }

/*: 装飾 ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* --------- 角丸だけ ------------------------------ */
.rounded {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px; }

/*: link ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* --------- button ------------------------------ */
.link-type01 {
  background: url(../img/bg_type1.png) repeat-x bottom #FFF;
  font-size: 115%;
  margin-bottom: 10px; }
  .link-type01 a {
    background: url(../img/../img/i_arrow_02_lightblue.png) no-repeat 15px center;
    border: #C8C8C8 1px solid;
    color: #000;
    display: block;
    text-decoration: none;
    padding: 15px 15px 15px 35px; }
    .link-type01 a.blank {
      background: url(../img/icon_blank_lightblue.png) no-repeat 15px center; }
  .link-type01:hover {
    opacity: 0.8;
    filter: alpha(opacity=80); }

.link-type02 {
  background: url(../img/bg_type1.png) repeat-x bottom #FFF;
  font-size: 108%;
  margin-bottom: 10px; }
  .link-type02 a {
    background: url(../img/../img/i_arrow_02_lightblue.png) no-repeat 0.8em 1.3em;
    border: 1px solid #179FDD;
    color: #000;
    display: block;
    text-decoration: none;
    padding: 15px 15px 15px 35px; }
    .link-type02 a.blank {
      background: url(../img/icon_blank_lightblue.png) no-repeat 0.8em 1.3em; }
  .link-type02:hover {
    opacity: 0.8;
    filter: alpha(opacity=80); }

.link-type03 {
  background: url(../img/bg_type1.png) repeat-x bottom #FFF;
  border: #C8C8C8 1px solid;
  list-style: none;
  border-radius: 5px;
  /* CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */ }
  .link-type03 a {
    background: url(../img/../img/i_arrow_02_lightblue.png) no-repeat 95% center;
    color: #000;
    display: block;
    text-decoration: none;
    padding: 15px 35px 15px 15px; }
    .link-type03 a.blank {
      background: url(../img/../img/icon_blank_lightblue.png) no-repeat 95% center; }

.link-type04 {
  background: url(../img/bg_lightblue.png) repeat-x bottom #26C9FF;
  font-size: 115%;
  margin-bottom: 10px; }
  .link-type04 a {
    background: url(../img/../img/i_arrow_02_lightblue.png) no-repeat 15px center;
    border: #C8C8C8 1px solid;
    color: #FFF;
    display: block;
    text-decoration: none;
    padding: 15px 15px 15px 35px; }
    .link-type04 a.blank {
      background: url(../img/../img/icon_blank_white.png) no-repeat 15px center; }
  .link-type04:hover {
    opacity: 0.8;
    filter: alpha(opacity=80); }

.link-type05 {
  background: #179FDD;
  font-size: 129%;
  margin-bottom: 10px; }
  .link-type05 a {
    background: url(../img/i_arrow_01.png) no-repeat 98% center;
    border: #C8C8C8 1px solid;
    color: #FFF;
    display: block;
    text-decoration: none;
    padding: 10px 15px; }
    .link-type05 a.blank {
      background: url(../img/icon_blank_white.png) no-repeat 98% center; }
    .link-type05 a:hover {
      opacity: 0.8;
      filter: alpha(opacity=80); }
  .link-type05.v2 {
    background: none;
    margin: 20px 0 30px;
    font-weight: bold;
    /* Landscape phones and down */ }
    @media (max-width: 768px) {
      .link-type05.v2 {
        margin: 0 0 10px; } }
    .link-type05.v2 a {
      background: #179FDD;
      display: inline;
      /* Landscape phones and down */ }
      @media (max-width: 768px) {
        .link-type05.v2 a {
          display: block; } }
      .link-type05.v2 a span {
        background: url(../img/i_arrow_01.png) no-repeat right center;
        padding-right: 20px;
        /* Landscape phones and down */ }
        @media (max-width: 768px) {
          .link-type05.v2 a span {
            display: block; } }
      .link-type05.v2 a.blank span {
        background-image: url(../img/icon_blank_white.png) !important; }

/*　リンク
-----------------------------------*/
.link-arrow {
  background: url(../img/i_arrow_02_lightblue.png) left 0.2em no-repeat;
  padding: 0 0 0 20px; }

.link-arrow-r {
  background: url(../img_common/arrow_01.png) right 0.45em no-repeat;
  padding: 0 8px 0 0; }

.link-arrow-r:hover {
  background: url(../img_common/arrow_01_on.png) right 0.45em no-repeat; }

.link-arrow02:hover {
  background: url(../img_common/arrow_01_on.png) left 0.45em no-repeat; }

.link-opacity:hover {
  opacity: 0.8;
  filter: alpha(opacity=80); }

.link-opacity02:hover {
  opacity: 0.7;
  filter: alpha(opacity=70); }

.link-black a {
  color: #333333;
  text-decoration: underline; }
  .link-black a:hover {
    text-decoration: none; }

/* --------- back/next ------------------------------ */
.link-back {
  background: url(../img/i_arrow01_blue_type2_back.png) no-repeat left center;
  line-height: 1em;
  padding: 0 0 0 15px;
  text-decoration: none; }
  .link-back:hover {
    background-image: url(../img/i_arrow01_type2_back.png); }

/* --------- icon ------------------------------ */
.blank {
  background: url(../img/icon_blank_lightblue.png) left 0.2em no-repeat;
  padding: 0 0 0 20px; }
  .blank:hover {
    background-image: url(../img/icon_blank_black.png); }

a.pdf {
  background: url(../img/i_pdf.png) left center no-repeat !important;
  padding: 15px 25px;
  line-height: 2em; }

/*: list ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* ---------　リストスタイルなし ------------------------------ */
ul.none {
  list-style: none; }

/* ---------　ul type1（default） ------------------------------ */
ul.type1 {
  list-style: disc;
  padding-left: 25px; }

/* ---------　type2 ------------------------------ */
ul.type2 a {
  background: url(../img/i_arrow_02_lightblue.png) left 0.2em no-repeat;
  padding: 0 0 0 20px; }

ul.type2 a:hover {
  background: url(../img_common/arrow_01_on.png) left 0.45em no-repeat; }

/* ---------　※用 ------------------------------ */
ul.type3 {
  list-style: none;
  margin-left: 1.0em; }

ul.type3 li {
  text-indent: -1.0em; }

/* ---------　(数字）用 ------------------------------ */
ul.type4 {
  list-style: none; }

ul.type4 > li {
  padding-left: 1.9em;
  text-indent: -1.9em; }

/* ---------　アンカーリンク用 ------------------------------ */
ul.type5 {
  list-style: none;
  zoom: 1;
  overflow: hidden; }
  ul.type5 > li {
    display: inline-block;
    float: left; }
    ul.type5 > li a {
      background: url(../img/i_arrow_04_lightblue.png) no-repeat left center;
      padding-left: 20px;
      line-height: 2em;
      white-space: nowrap;
      display: inline-block;
      padding-right: 30px; }

/* ---------　ol type1（default） 数字 ------------------------------ */
ol.type1 {
  list-style: decimal;
  padding-left: 20px; }

/* ---------　ol type2 カタカナ ------------------------------ */
ol.type2 {
  list-style: katakana;
  padding-left: 30px; }

/* ---------　liにスペースをつける ------------------------------ */
.list-space03b > li {
  margin-bottom: 3px; }

.list-space05b > li {
  margin-bottom: 5px; }

.list-space10b > li {
  margin-bottom: 10px; }

.list-space20b > li {
  margin-bottom: 20px; }

/*: indent ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* ---------　(数字）用 ------------------------------ */
.indent-type1 {
  padding-left: 1.9em;
  text-indent: -1.9em; }

/*: .block ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* ---------　.block ------------------------------ */
.block {
  display: block; }

.inline {
  display: inline; }

/* ---------　.normal ------------------------------ */
.normal {
  font-weight: normal !important; }

/*: float ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* ---------　float ------------------------------ */
.float-l {
  float: left; }

.float-r {
  float: right; }

/* ---------　img ------------------------------ */
.img-l {
  float: left;
  margin: 0 20px 20px 0; }

.img-r {
  float: right;
  margin: 0 0 20px 20px; }

.img-c {
  text-align: center !important;
  margin: 0 0 20px 10px; }

.vertical-middle {
  vertical-align: middle; }

/* ---------　clear ------------------------------ */
.clearfix {
  zoom: 1;
  overflow: hidden; }

.clear-all {
  clear: both; }

*:after {
  display: block;
  clear: both; }

.clear-l {
  clear: left; }

.clear-r {
  clear: right; }

.of-hide {
  overflow: hidden; }

/*: border ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* ---------　dotted top ------------------------------ */
.b-dot-top {
  border-top: 1px dotted #999; }

@media (max-width: 767px) {
  .b-dot-top-xs {
    border-top: 1px dotted #555; } }

@media (max-width: 767px) {
  .b-dot-top-xs-space20t {
    border-top: 1px dotted #555;
    padding-top: 20px; } }

/* ---------　dotted bottom ------------------------------ */
.line-dot-b {
  border-bottom: 1px #666666 dotted;
  padding-bottom: 30px;
  margin-bottom: 30px; }

/*: table ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* ---------　default ------------------------------ */
table.type1 {
  width: 100%;
  table-layout: fixed; }
  table.type1.new th {
    color: #343385; }
  table.type1.midway th {
    color: #649F00; }
  table.type1 th {
    background: #F4F4E9;
    border-right: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
    padding: 10px 25px;
    font-size: 115%;
    text-align: center;
    width: 22%;
    line-height: 1em; }
    @media (max-width: 767px) {
      table.type1 th {
        width: 33%; } }
  table.type1 td {
    background: #F3F3F3;
    border-bottom: 1px solid #FFF;
    padding: 10px 25px;
    font-size: 100%; }
  table.type1 .none {
    background: none !important;
    border: none !important; }
  table.type1 .column2 {
    width: 50%; }
  table.type1 .column3 {
    width: 33%; }
  table.type1 .column4 {
    width: 25%; }
  table.type1 .column5 {
    width: 20%; }
  @media (min-width: 1200px) {
    table.type1.width100 {
      width: 100%; } }
  @media (min-width: 768px) and (max-width: 1200px) {
    table.type1.width100 {
      width: 100%; } }
  @media (max-width: 767px) {
    table.type1.width100 {
      width: 100%; } }

/*: space ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* ---------　top ------------------------------ */
.space00t {
  margin-top: 0 !important; }

.space05t {
  margin-top: 5px !important; }

.space10t {
  margin-top: 10px !important; }

.space15t {
  margin-top: 15px !important; }

.space20t {
  margin-top: 20px !important; }

.space30t {
  margin-top: 30px !important; }

.space40t {
  margin-top: 40px !important; }

.space50t {
  margin-top: 50px !important; }

.space60t {
  margin-top: 60px !important; }

/* ---------　bottom ------------------------------ */
.space00b {
  margin-bottom: 0 !important; }

.space05b {
  margin-bottom: 5px !important; }

.space10b {
  margin-bottom: 10px !important; }

.space15b {
  margin-bottom: 15px !important; }

.space20b {
  margin-bottom: 20px !important; }

.space25b {
  margin-bottom: 25px !important; }

.space30b {
  margin-bottom: 30px !important; }

.space35b {
  margin-bottom: 35px !important; }

.space40b {
  margin-bottom: 40px !important; }

.space45b {
  margin-bottom: 45px !important; }

.space50b {
  margin-bottom: 50px !important; }

.space55b {
  margin-bottom: 55px !important; }

.space60b {
  margin-bottom: 60px !important; }

.space65b {
  margin-bottom: 65px !important; }

.space70b {
  margin-bottom: 70px !important; }

.space75b {
  margin-bottom: 75px !important; }

.space80b {
  margin-bottom: 80px !important; }

/* ---------　left ------------------------------ */
.space05l {
  margin-left: 5px !important; }

.space10l {
  margin-left: 10px !important; }

.space20l {
  margin-left: 20px !important; }

.space25l {
  margin-left: 25px !important; }

.space30l {
  margin-left: 30px !important; }

/* ---------　right ------------------------------ */
.space00r {
  margin-right: 0 !important; }

.space05r {
  margin-right: 5px !important; }

.space10r {
  margin-right: 10px !important; }

.space20r {
  margin-right: 20px !important; }

.space30r {
  margin-right: 30px !important; }

.space40r {
  margin-right: 40px !important; }

/* ---------　xs ------------------------------ */
@media (max-width: 767px) {
  .space00b-xs {
    margin-bottom: 0 !important; }
  .space05b-xs {
    margin-bottom: 5px !important; }
  .space10b-xs {
    margin-bottom: 10px !important; }
  .space15b-xs {
    margin-bottom: 15px !important; }
  .space20b-xs {
    margin-bottom: 20px !important; }
  .space25b-xs {
    margin-bottom: 25px !important; }
  .space30b-xs {
    margin-bottom: 30px !important; }
  .space05l-xs {
    margin-left: 5px !important; }
  .space10l-xs {
    margin-left: 10px !important; }
  .space20l-xs {
    margin-left: 20px !important; }
  .space25l-xs {
    margin-left: 25px !important; }
  .space30l-xs {
    margin-left: 30px !important; }
  .space00r-xs {
    margin-right: 0 !important; }
  .space05r-xs {
    margin-right: 5px !important; }
  .space10r-xs {
    margin-right: 10px !important; }
  .space20r-xs {
    margin-right: 20px !important; }
  .space30r-xs {
    margin-right: 30px !important; }
  .space40r-xs {
    margin-right: 40px !important; } }

@media only screen and (min-device-width: 320px) and (orientation: landscape) {
  .space10b-xs {
    margin-bottom: 10px !important; }
  .space20b-xs {
    margin-bottom: 20px !important; } }

/*: font ::::::::::::::::::::::::::::::::::::::::::::::::::*/
/* --------- color------------------------------ */
.blue {
  color: #1C5AB0 !important; }

.pink {
  color: #EB4050 !important; }

.bold {
  font-weight: bold !important; }

.gray {
  color: #999999 !important; }

.red {
  color: red !important; }

.purple {
  color: #C27CC2 !important; }

.black {
  color: black !important; }

.key {
  color: #179FDD; }

.orange {
  color: #FA7115; }

.color-link a {
  color: #000066;
  text-decoration: underline; }

.color-link a:hover {
  text-decoration: none; }

/* --------- size ------------------------------ */
.font10 {
  font-size: 72% !important; }

.font11 {
  font-size: 79% !important; }

.font12 {
  font-size: 86% !important; }

.font13 {
  font-size: 93% !important; }

.font15 {
  font-size: 108% !important; }

.font16 {
  font-size: 115% !important; }

.font17 {
  font-size: 122% !important; }

.font18 {
  font-size: 129% !important; }

.font19 {
  font-size: 136% !important; }

.font20 {
  font-size: 143% !important; }

.font21 {
  font-size: 150% !important; }

.font22 {
  font-size: 158% !important; }

.font23 {
  font-size: 165% !important; }

.font24 {
  font-size: 172% !important; }

.font25 {
  font-size: 179% !important; }

.font26 {
  font-size: 186% !important; }

.font27 {
  font-size: 193% !important; }

.font28 {
  font-size: 200% !important; }

.font29 {
  font-size: 207% !important; }

.font30 {
  font-size: 214% !important; }

/* --------- size xs ------------------------------ */
@media (max-width: 767px) {
  .font10-xs {
    font-size: 72% !important; }
  .font11-xs {
    font-size: 79% !important; }
  .font12-xs {
    font-size: 86% !important; }
  .font13-xs {
    font-size: 93% !important; }
  .font15-xs {
    font-size: 108% !important; }
  .font16-xs {
    font-size: 115% !important; }
  .font17-xs {
    font-size: 122% !important; }
  .font18-xs {
    font-size: 129% !important; }
  .font19-xs {
    font-size: 136% !important; }
  .font20-xs {
    font-size: 143% !important; }
  .font21-xs {
    font-size: 150% !important; }
  .font22-xs {
    font-size: 158% !important; }
  .font23-xs {
    font-size: 165% !important; }
  .font24-xs {
    font-size: 172% !important; }
  .font25-xs {
    font-size: 179% !important; }
  .font26-xs {
    font-size: 186% !important; }
  .font27-xs {
    font-size: 193% !important; }
  .font28-xs {
    font-size: 200% !important; }
  .font29-xs {
    font-size: 207% !important; }
  .font30-xs {
    font-size: 214% !important; } }

/* --------- text-align ------------------------------ */
.txt-r {
  text-align: right; }

.txt-l {
  text-align: left; }

.txt-c {
  text-align: center; }

@media (max-width: 767px) {
  .txt-r-xs {
    text-align: right; }
  .txt-l-xs {
    text-align: left; }
  .txt-c-xs {
    text-align: center; } }

.col-xs-1-5, .col-sm-1-5, .col-md-1-5, .col-lg-1-5,
.col-xs-2-5, .col-sm-2-5, .col-md-2-5, .col-lg-2-5,
.col-xs-3-5, .col-sm-3-5, .col-md-3-5, .col-lg-3-5,
.col-xs-4-5, .col-sm-4-5, .col-md-4-5, .col-lg-4-5 {
  position: relative;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px; }

.col-xs-1-5 {
  width: 20%;
  float: left; }

.col-xs-2-5 {
  width: 40%;
  float: left; }

.col-xs-3-5 {
  width: 60%;
  float: left; }

.col-xs-4-5 {
  width: 80%;
  float: left; }

@media (min-width: 768px) {
  .col-sm-1-5 {
    width: 20%;
    float: left; }
  col-sm-2-5 {
    width: 40%;
    float: left; }
  col-sm-3-5 {
    width: 60%;
    float: left; }
  col-sm-4-5 {
    width: 80%;
    float: left; } }

@media (min-width: 992px) {
  .col-md-1-5 {
    width: 20%;
    float: left; }
  .col-md-2-5 {
    width: 40%;
    float: left; }
  .col-md-3-5 {
    width: 60%;
    float: left; }
  .col-md-4-5 {
    width: 80%;
    float: left; } }

@media (min-width: 1200px) {
  .col-lg-1-5 {
    width: 20%;
    float: left; }
  .col-lg-2-5 {
    width: 40%;
    float: left; }
  .col-lg-3-5 {
    width: 60%;
    float: left; }
  .col-lg-4-5 {
    width: 80%;
    float: left; } }
