/* clearfix */
.fix:before,
.fix:after {
    content:"";
    display:table;
}
.fix:after {
clear:both;
}
.fix {
*zoom:1;
}


/***************************************************************/
/*    Common Setting
/***************************************************************/

html, body {
  width: 100%;
  min-width: 960px;
}

a {
  text-decoration: none;
  color:#5292f8;
}

a:hover {
  text-decoration: underline;
}

a:visited {
  color: #3f73b0;
}

/*画像のロールオーバーは全て半透過*/
a img:hover {
  filter: alpha(opacity=80);
  -moz-opacity:0.80;
   opacity:0.80;
}

strong {
  font-weight: normal;
  font-family:
   "ヒラギノ明朝 ProN W6",
   "HiraMinProN-W6",
   "HG明朝E",
   "ＭＳ Ｐ明朝",
   "MS PMincho",
   "MS 明朝",
   serif;
}

span.red {
  color: red;
}

.wrapper {
  width: 100%;
}

#header {
  width: 100%;
}

#header .header_inner {
  width: 960px;
  padding: 0 10px;
  margin: 0 auto;
  position: relative;
}

.header_inner h1 {
  font-weight: normal;
  margin-bottom: 20px;
  font-size: 12px;
}

.header_inner h1 span {
  display: block;
  font-size: 90%;
  margin: 5px 0 10px;
}

.header_inner .sub_menu {
  position: absolute;
  top: 0px;
  right: 0px;
}

.sub_menu ul li {
  display: inline-block;
  background: url(../cmn_images/cmn_submenu_arrow.png) no-repeat 0% 50%;
  padding-left: 10px;
  font-size: 12px;
}

.sub_menu ul li + li {
  margin-left: 10px;
}

.sub_menu ul li a {
  color: #333333;
  text-decoration: none;
}

.sub_menu ul li a:hover {
  text-decoration: underline;
}

.sub_menu ul li.sub_map {
  background-image: url(../cmn_images/cmn_map_icon.png) !important;
  background-position: 12% 48%;
  padding: 2px 10px 2px 23px;
  background-color: #147eea;
  border-radius: 2px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
}
.sub_menu ul li.sub_map a {
  color: #fff;
}

.header_inner .contact {
  position: absolute;
  top: 35px;
  right: 0;
  width: 440px;
}

.contact img.tel {
  padding: 0 30px 6px 0;

}


/*
  ナビゲーション
*/

.gnav {
  width: 100%;
  background: url(../cmn_images/gnav_bg.png) no-repeat 50% 50%;
  height: 60px;
  position: relative;
  z-index: 100;
}

.gnav nav ul {
  /* width: 960px;*/
  margin: 0 auto;
  display: flex;
  justify-content: center;
  transform: scale(.92);
}

.gnav nav ul li {
  float: left;
}

/*  */



/*
  スライダー
*/

.topSlider {
  width: 100%;
  background-image: url(../cmn_images/home-bg.jpg) ;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
  height: 333px;
  position: relative;
  top: -17px;
}

.topSlider:after {
  content: '';
  display: block;
  width: 100%;
  height:155px;
  background: url(../cmn_images/index_slide_btmbg.png);
  position: absolute;
  bottom:-155px;
}

.topSlider .slider_wrapper {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 90;
}

  .slider_wrapper ul li {
    position: absolute;
    left: 50%;
    margin-left: -517px;
  }

  .slider_copy {
    width: 960px;
    position: absolute;
    top: 362px;
    left: 50%;
    margin-left: -480px;
    z-index: 200;
    color: #fff;
  }
  .slider_copy h1 {
    margin-bottom: 7px;
  }
  .slider_copy p {
    width: 650px;
    line-height: 1.4em;
  }
  .slider_copy .slider_detailBtn a {
    display: block;
    background: url(../cmn_images/main_btn_01.png) no-repeat 50% 50%;
    width: 167px;
    height: 23px;
    padding: 10px;
    text-indent: -9999px;
    position: absolute;
    top: 25px;
    right: 10px;
    z-index: 200;
  }
  .slider_copy .slider_detailBtn a:hover {
      filter: alpha(opacity=80);
      -moz-opacity:0.80;
       opacity:0.80;
  }
  
#pan{
	overflow:hidden;
	margin-bottom:20px;
}

#pan li{
	float:left;
	font-size:10px;
	padding-right:15px;
}


/*
  トップ 高度な切削技術
*/

.content_inner {
  width: 960px;
  margin: 10px auto 30px auto;
}

section.index_content_02 {
  margin-top: 5%;
  background: url(../cmn_images/index_con01_bg_img.jpg) no-repeat right;
  height: 161px;
  position: relative;
}

section.index_content_02 h1 {
  padding-top: 30px;
}

section.index_content_02 h1 + img {
  margin: 15px 0;
}

section.index_content_02 h1 + img + a {
  display: block;
}

section.index_content_02 p {
  position: absolute;
  width: 395px;
  top: 50px;
  right: 30px;
  line-height: 1.4em;
}
.index_bnr{
	margin: 5% auto 0 auto;
}
.index_bnr ul{
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	flex-wrap: wrap;
  justify-content:center;
}
.index_bnr ul li img{
	width: 100%;
}
.index_bnr ul li{
	width: 23%;
	margin: 1%;
}
.index_bnr ul li.index_bnr-l{
	width: 40%;
}
.index_bnr ul li.index_bnr-s{
	margin-top: 2%;
}
.index_bnr ul li a{
	display: block;
}




/*
  Footer
*/

.footer_wrapper {
  border-top: 1px dotted #cccccc;
  background-image: url(../cmn_images/footer-bg.jpg);
	background-size: cover;
	background-position: center bottom;
  width: 100%;
  min-height: 350px;
  margin-top: 80px;
  padding-bottom: 27px;
  position: relative;
}
  .footer_inner {
    width: 960px;
    margin: 0 auto;
    padding-top: 40px;
    position: relative;
  }

  .footer_inner address {
    font-style: normal;
    margin: 20px 0;
    position: absolute;
    top: 10px;
    left: 220px;
    line-height:1.2em;
  }
  .footer_inner address + a {
    position: absolute;
    top: 105px;
    left: 220px;
  }

  .footer_menu {
    position: absolute;
    top: 30px;
    right:0 ;
  }

  .footer_menu ul {
    display: inline-block;
    vertical-align: top;
    margin-left: 30px;
  }

  .footer_menu ul li {
    background: url(../cmn_images/cmn_footer_arrow.png) no-repeat left;
    padding-left: 15px;
    line-height: 1.5em;
  }

  .copyright {
    width: 100%;
    background: url(../cmn_images/footer_copyright_bg.png);
    height: 28px;
    position: absolute;
    bottom: 0;
    text-align: center;
    line-height: 28px;
    color: #fff;
    font-size: 10px;
  }
  
  .copyright a:link, 
  .copyright a:active,
  .copyright a:visited,
  .copyright a:hover{
	  color:#fff;
  }

  .pagetop {
    position: fixed;
    bottom: 50px;
    right: 0;
    z-index: 200;
  }

  .pagetop:hover {
    cursor: pointer;
  }

  .trigger {
    position: absolute;
    content: '';
    display: block;
    right: 0;
    bottom: 0px;
  }





/***************************************************************/
/*    下層ページ
/***************************************************************/

.sub section {
  position: relative;
}

.sub p {
  line-height: 1.4em;
  margin: 20px auto 30px;
}

.sub_keyimg {
  width: 100%;
  height: 170px;
  background: url(../cmn_images/ttl-bg.jpg) ;
background-size: 132%;
	background-position: 70% center;
	background-repeat: no-repeat;
  position: relative;
margin-top: -20px;
}

.sub_keyimg:after {
  content: '';
  display: block;
  background: #2878cb;
  width: 100%;
  height: 60px;
  position: absolute;
  bottom: 0px;
  border-top: 1px solid #55a1de;
}

.sub_keycopy {
  width: 960px;
  margin: 0 auto;
  position: relative;
}

.sub_keycopy h1 {
  position: absolute;
  width: 100%;
  top: 125px;
  z-index: 50;
  font-size: 1.9em;
  color: #fff;
  text-shadow: 2px 2px 4px rgba(25,25,25,0.5);
  font-family:
     "ヒラギノ明朝 ProN W3",
     "HiraMinProN-W3",
     "HG明朝E",
     "ＭＳ Ｐ明朝",
     "MS PMincho",
     "MS 明朝",
     serif;
  font-weight: normal;
  letter-spacing: 3px;
}

.sub_keycopy h1 span {
  font-size: 16px;
  text-shadow: none;
  position: absolute;
  top: 5px;
  right: 0;
  font-weight: normal;
}

.main_contents {
  width: 700px;
  float: left;
}
.sub_bnr {
  width: 240px;
  float: right;
}
.sub_bnr ul li + li {
  margin-top: 15px;
}

.main_contents section {
  margin-bottom: 50px;
}

.main_contents section h1 {
  font-family:
   "ヒラギノ明朝 ProN W6",
   "HiraMinProN-W6",
   "HG明朝E",
   "ＭＳ Ｐ明朝",
   "MS PMincho",
   "MS 明朝",
   serif;
  font-weight: lighter;
  background: url(../cmn_images/cmn_header_before.png) no-repeat left;
  height: 26px;
  padding-left: 14px;
  padding-bottom: 2px;
  line-height: 28px;
  font-size: 1.6em;
  border-bottom: 1px dotted #d9d9d9;
}


/* お問い合わせボックス */

.btm_contact {
  background-image: url(../cmn_images/cmn_sub_contact.jpg) ;
background-repeat: no-repeat;
	background-position: center center;
background-size: cover;
  width: 704px;
  height: 197px;
  position: relative;
}

.btm_contact .con_title {
  position: absolute;
  top: 85px;
  left: 25px;
  color: #fff;
  font-size: 1.2em;
  font-weight: normal;
  font-family:
   "ヒラギノ明朝 ProN W3",
   "HiraMinProN-W3",
   "HG明朝E",
   "ＭＳ Ｐ明朝",
   "MS PMincho",
   "MS 明朝",
   serif;
   letter-spacing: 1px;
}

.btm_contact .con_tel {
  font-size: 3em;
  color: red;
  position: absolute;
  top: 115px;
  left: 30px;
  font-weight: bold;
}

.btm_contact .con_tel span {
  display: block;
  padding: 3px 5px;
  border: 1px dotted #7f7f7f;
  color: #333333;
  font-size: 0.3em;
  text-align: center;
}

.btm_contact .con_btn {
  position: absolute;
  top: 130px;
  right: 130px;
}




/*
  About us
*/

.about_feature {
  position: relative;
  margin: 20px 0 30px;
  height: 763px;
  width: 100%;
}

.about_feature .feature_img {
	width: 800px;
  position: absolute;
  top: 120px;
  right: -20px;
  z-index: 1;
}

.about_feature .feature {
  position: absolute;
  z-index: 10;
  width: 260px;
}

.about_feature .feature h2 {
  display: block;
  background: url(../../about/images/about_3feature_h_bg.png) no-repeat;
  width: 156px;
  height: 35px;
  position: relative;
  z-index: 5;
  line-height: 34px;
  margin: 0 0 5px;
  color: #fff;
  font-weight: normal;
  text-align: center;
}

.about_feature .feature p {
  margin: 0;
  line-height: 1.4em;
}

.con_01 {
  width: 290px !important;
  top: 15px;
  left: 230px;
}

.con_02 {
  top: 200px;
  left: 5px;
}

.con_03 {
  width: 290px !important;
  bottom: 10px;
  left: 155px;
}


/*
  Company
*/

.sub .copy {
  font-size: 1.3em;
  font-family:
   "ヒラギノ明朝 ProN W3",
   "HiraMinProN-W3",
   "HG明朝E",
   "ＭＳ Ｐ明朝",
   "MS PMincho",
   "MS 明朝",
   serif;
  line-height: 1.4em;
}

.sub p.float {
  float: left;
  width: 320px;
}

.sub h1 + img {
  margin-top: 20px;
  margin-left: 20px;
}


/* 会社概要 */
dl.company_dl{
	width: 680px;
	overflow: hidden;
	margin: 0 0 5px 0;
}
dl.company_dl dt {
  width: 130px;
  padding: 7px 5px;
  float: left;
  background: #b3d1fb;
  margin:0;
  text-align: center;box-sizing: border-box;
}

dl.company_dl dd {
  width: 545px;
  background: #eeeeee;
  padding: 7px 5px ;
  margin:0;
float: left;
	box-sizing: border-box;
}

.last {
  border: none !important;
}


/* アクセスマップ */
#access iframe{
  margin: 20px 0;
}

#access ul li {
  margin-bottom: 10px;
  line-height: 1.4em;
}

#access ul li span {
  display: inline-block;
  padding: 2px 12px;
  background: #e6e6e6;
  margin-bottom: 3px;
}



/*
  事業内容
*/

.sub .bx-wrapper {
  width: 350px !important;
  position: absolute;
  right: 10px;
  top: 50px;
}
.sub .bx-viewport {
  height: 275px !important;
}

.anime {
  min-height: 309px;
}

/* 設備紹介 */
.equipmap h2 {
  background-repeat: no-repeat;
  background-position: 5px;
  padding-left: 25px;
  height: 30px;
  line-height: 30px;
  font-weight: normal;
}

.equipmap h2 span {
  font-size: 12px;
}

.equipmap ul {
  margin-top: 20px;
margin-left: -20px;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content:flex-start;
}
.equipmap ul li {
  width: 220px;
  margin-left: 15px;
  margin-bottom: 25px;
  display: inline-block;
background-color: #f3f3f3;
}
.equipmap ul li p{
	margin: 0;
	padding: 5%;
	font-size: 0.8rem;
}

.eq_01 {
  /*background-image: url(../../services/images/serv_equip_icon1.png);*/
  position: relative;
}
.eq_01::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no01.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_02 {
  /*background-image: url(../../services/images/serv_equip_icon2.png);*/
  position: relative;
}
.eq_02::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no02.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_03 {
  /*background-image: url(../../services/images/serv_equip_icon3.png);*/
  position: relative;
}
.eq_03::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no03.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_04 {
  /*background-image: url(../../services/images/serv_equip_icon4.png);*/
  position: relative;
}
.eq_04::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no04.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_05 {
  /*background-image: url(../../services/images/serv_equip_icon5.png);*/
  position: relative;
}
.eq_05::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no05.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_06 {
  /*background-image: url(../../services/images/serv_equip_icon6.png);*/
  position: relative;
}
.eq_06::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no06.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_07 {
  /*background-image: url(../../services/images/serv_equip_icon7.png);*/
  position: relative;
}
.eq_07::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no07.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_08 {
  /*background-image: url(../../services/images/serv_equip_icon8.png);*/
  position: relative;
}
.eq_08::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no08.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_09 {
  /*background-image: url(../../services/images/serv_equip_icon9.png);*/
  position: relative;
}
.eq_09::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no09.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_10{
  position: relative;
}
.eq_10::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no10.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_11{
  position: relative;
}
.eq_11::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no11.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_12{
  position: relative;
}
.eq_12::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no12.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}
.eq_13{
  position: relative;
}
.eq_13::before{
  display: inline-block;
  content: "";
  width: 18px;
  height: 18px;
  background: url(../../services/images/no13.svg) no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}

.other{
	background-color: #E3F5FB;
	padding: 2% 5%;
}
.other p{
	margin: 0 0 20px 0;
	font-weight: bold;
}
.other ul.other-list{
	margin: 0 0 15px 0;
	background-color:none;
}
.other ul.other-list li{
	display: inherit;
	width: 100%;
	float: none;
	margin: 0 0 15px 0;
	background-color: #E3F5FB;
	padding: 0;
	list-style: circle !important;
}



/*
  Recruit
*/

.recruit_01 li {
  float: left;
}

/* 応募フォーム */

.form-field {
   border: 1px solid #c9b7a2;
   background: #f2ece6;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
   color: #b89d7f;
   -webkit-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(000,000,000,0.7) 0 0px 0px;
   -moz-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(000,000,000,0.7) 0 0px 0px;
   box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(000,000,000,0.7) 0 0px 0px;
   padding:8px;
   margin-bottom:17px;
   }
.form-field:focus {
   background: #fff;
   color: #725129;
   }

.form-title {
   margin-bottom:5px;
   color: #5e3c16;
   text-shadow: #fdf2e4 0 1px 0;
   float: left;
   width: 75px;
   height: 35px;
   line-height: 35px;
   }
.submit-container {
   margin:8px 0;
   text-align:left;
   }
.submit-button {
   border: 1px solid #151973;
   background: #363fa3;
   background: -webkit-gradient(linear, left top, left bottom, from(#738fe6), to(#363fa3));
   background: -webkit-linear-gradient(top, #738fe6, #363fa3);
   background: -moz-linear-gradient(top, #738fe6, #363fa3);
   background: -ms-linear-gradient(top, #738fe6, #363fa3);
   background: -o-linear-gradient(top, #738fe6, #363fa3);
   background-image: -ms-linear-gradient(top, #738fe6 0%, #363fa3 100%);
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   border-radius: 4px;
   -webkit-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
   -moz-box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
   box-shadow: rgba(255,255,255,0.4) 0 1px 0, inset rgba(255,255,255,0.4) 0 1px 0;
   text-shadow: #13138f 0 1px 0;
   color: #ffffff;
   font-family: helvetica, serif;
   padding: 8.5px 60px;
   font-size: 14px;
   text-decoration: none;
   vertical-align: middle;
   display: block;
   margin: 0 auto;
   }
.submit-button:hover {
   border: 1px solid #447314;
   text-shadow: #31540c 0 1px 0;
   background: #6aa436;
   background: -webkit-gradient(linear, left top, left bottom, from(#8dc059), to(#6aa436));
   background: -webkit-linear-gradient(top, #8dc059, #6aa436);
   background: -moz-linear-gradient(top, #8dc059, #6aa436);
   background: -ms-linear-gradient(top, #8dc059, #6aa436);
   background: -o-linear-gradient(top, #8dc059, #6aa436);
   background-image: -ms-linear-gradient(top, #8dc059 0%, #6aa436 100%);
   color: #fff;
   }
.submit-button:active {
   text-shadow: #31540c 0 1px 0;
   border: 1px solid #447314;
   background: #8dc059;
   background: -webkit-gradient(linear, left top, left bottom, from(#6aa436), to(#6aa436));
   background: -webkit-linear-gradient(top, #6aa436, #8dc059);
   background: -moz-linear-gradient(top, #6aa436, #8dc059);
   background: -ms-linear-gradient(top, #6aa436, #8dc059);
   background: -o-linear-gradient(top, #6aa436, #8dc059);
   background-image: -ms-linear-gradient(top, #6aa436 0%, #8dc059 100%);
   color: #fff;
   }



/*
  サイトマップ
*/

.sm ul {
  margin-bottom: 20px;
}

.sm ul li {
  background: url(../cmn_images/cmn_footer_arrow.png) left no-repeat;
  padding-left: 20px;
  line-height: 1.6em;
}



/*
  個人情報方針
*/

.pp dl dt {
  padding: 4px 0 4px 15px;
  background: #f3f3f3;
  position: relative;
  margin-bottom: 10px;
}

.pp dl dt:before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background: #5369f3;
  position: absolute;
  left: 6px;
  top: 8px;
  border-radius: 3px;
}

.pp dl dd {
  margin: 0 0 25px 0;
  padding-left: 3px;
  line-height: 1.4em;
  width: 95%;
}

.pp dl dd ul {
  margin: 10px 0 10px 5px;
}

.pp div {
  background: #f8f8f8;
  line-height: 1.2em;
  display: inline-block;
  padding: 10px 55px;
}


/*
  採用情報（限定情報）
*/

.employee h1{
	color:#fff;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
	font-weight:normal;
	font-size:20px !important;
	background:#318ef6 !important;
	padding:7px 15px !important;
	overflow:hidden;
}

.employee-left{
	width:380px;
	float:left;
	padding:20px 0;
}

.employee-right{
	width:305px;
	margin-left:15px;
	float:right;
	padding:20px 0;
}

.employee-left .catch{
	width:251px;
	float:left;
	margin:0 7px 15px 0;
}

.employee-left .work{
	width:120px;
	float:right;
}

.employee-left .work li{
	float:left;
	margin-left:5px;
}

.employee-left p{
	margin:0 !important;
	line-height:180%;
}

.character{
	position:relative;
	border:2px solid #2d3d75;
	margin:40px 0;
	padding:30px 20px 20px 20px;
}

.character h3{
	position:absolute;
	top:-15px;
	left:20px;
}

.character ul li{
	padding:7px 0;
	background:url(../../employee/images/ico03.png) no-repeat left center;
	padding-left:20px;
}

.occupation{
	margin-bottom:20px;
	overflow:hidden;
}

.occupation p{
line-height:180%;
}

.occupation-ttl{
	border-bottom:1px dotted #333333;
	border-left:5px solid #83afe3;
	padding:5px 20px !important;
	overflow:hidden;
}

.occupation-ttl p{
	color:#236dc4;
	width:80px;
	float:left;
	margin:0;
	padding:0;
	line-height:180%;
}

.occupation-ttl h3{
	width:430px;
	float:left;
	font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-weight:bold;
	font-size:20px;
}

.occupation-ttl .icon{
	width:140px;
	float:left;
	text-align: right;
}

.employee_end{
	background:#236dc4;
	padding:10px 30px;
	text-align:center;
	margin:20px 0;
}

.employee_end p{
	color:#fff;
	font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size:24px;
}

.main{
	padding-top:15px;
}

/****************採用情報******************/
.recruit .img{
	float:right;
	padding:10px 0 20px 15px;
}
.recruit h2{
	padding:10px 0 10px 0;
	margin:0;
}
.recruit p{
	padding:10px 0 0 0;
	margin:0;
	line-height:160%;
}

.about{
	margin-top:20px;
	background:url(../../recruit/images/bg01.png) no-repeat center top;
	padding:40px 60px 60px 60px;
}
.about h3{
	color:#e63232;
	text-align:center;
	font-size:20px;
	font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-weight:bold;
	margin-bottom:10px;
}
.about ul li{
	list-style:none;
	background:url(../../recruit/images/ico.png) no-repeat left center;
	padding:5px 0 5px 15px;
}
.about ul li span{
	border-bottom:1px solid #e63232;
}

.point{
	border:2px solid #2d3d75;
	margin-top:40px;
	margin-bottom:20px;
	position:relative;
	height:190px;
}
.point h3{
	position:absolute;
	top:-15px;
	left:30px;
}

.point ul{
	position:absolute;
	top:30px;
	left:30px;
}
.point ul li{
	list-style:none;
	background:url(../../recruit/images/ico02.png) no-repeat left center;
	padding:5px 0 5px 20px;
}


.redtxt{
	font-size: 1.1rem;
	color: #E90003;
}
.bluetxt{
	font-size: 1.1rem;
	color:#1874ED;
}
.recruit-img{
	float: right;
	margin-left: 10px;
}

.news{
	width: 960px;
	margin: 15% auto 0 auto;
	border: 1px solid #242839;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content:center;
}
.news h2{
	color: #fff;
	width: 20%;
	background-color: #242839;
	box-sizing: border-box;
	text-align: center;
	margin: 0;
	padding: 1% 0;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.news dl{
	width: 80%;
	overflow: hidden;
	padding: 0 3%;
	box-sizing: border-box;
}
.news dl dt{
	width: 25%;
	float: left;
	margin: 0;
	font-weight: bold;
}
.news dl dd{
	width: 75%;
	float: left;
	margin: 0 0 7px 0;
}
.news dl dd:last-of-type{
  margin-bottom: 0;
}
.index-txt-link li{
	width: 270px;
	display: block;
	margin-bottom: 5px;
}
.index-txt-link li.index-txt-link2{
	width: 220px;
	display: block;
}

.environment{
	width: 55%;
	position: absolute;
	top:150px;
	left: 0;
	background-color: rgba(255,255,255,0.5);
	padding: 2% 1.5%;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	flex-wrap: wrap;
  justify-content:center;
}
.environment p{
	width: 26%;
	line-height: 130%;
	margin:0 1% 0 0;
	padding: 0;
	font-size: 0.8rem;
}
.environment p span{
	color: #019944;
	font-weight: bold;
	padding: 0;
}
.environment ul{
	width: 72%;
	padding: 2% 0 0 0;
	margin: 0;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	flex-wrap: wrap;
  justify-content:space-around;
}
.environment ul li img{
	width: 100%;
}
.foot-sdgs{
	width: 45%;
}
.foot-green{
	width: 25%;
}
.eco-action{
	width: 18%;
}

.worry{
	background-color: #D6F3FF;
	margin: 3% 0 12% 0;
	padding: 2% 3%;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	flex-wrap: wrap;
  justify-content:center;
	position: relative;
}
.worry::after{
	display: block;
	content: url("../cmn_images/arrow.svg");
	width: 11%;
	top: 110%;
	position: absolute;
	
}

.worry li{
	width: 49%;
	margin: 1% 1% 1% 0;
}
.worry li span{
	color: #2878CB;
	font-weight: bold;
}
#solution h2{
	display: block;
	color: #ED1C24;
	text-align: center;
	font-size: 1.25rem;
	background-color: #FCE5BF;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	border-radius: 30px;
	padding: 2%;
}
.know-how{
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	flex-wrap: wrap;
  justify-content:space-around;
	margin-top: 5%;
}
.know-how li{
	width: 48%;
	margin: 1% auto;
	border: 1px solid #2878CB;
}
.know-how li h3{
	color: #fff;
	background-color: #2878CB;
	display: block;
	padding: 3% 2%;
	text-align: center;
	font-size: 1.2rem;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.know-how li p{
	padding: 5% 4%;
	margin: 0;
	line-height: 160%;
}

.voice-nav{
	width: 60%;
	margin: 5% auto;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	flex-wrap: wrap;
  justify-content:space-around;
}
.voice-nav li{
	width: 48%;
}

#voice ul{
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	flex-wrap: wrap;
  justify-content:flex-start;
	margin: 5% 0;
}
#voice ul li{
	width: 46%;
	margin: 1% 2%;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	flex-wrap: wrap;
  justify-content:center;
}
#voice ul li .voice-img{
	width: 28%;
	margin-right: 5%;
}
#voice ul li .voice-detail{
	width: 67%;
	padding: 5% 3% 5% 5%;
	box-sizing: border-box;
	border: 1px solid #495173;
	border-radius: 10px;
	background: #FFF;
	position: relative;
}
#voice ul li .voice-detail:before {
	content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #fff;
  z-index: 2;
}
#voice ul li .voice-detail:after {
content: "";
  position: absolute;
  top: 50%;
  left: -25px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid  #495173;
  z-index: 1;
}
#voice ul li .voice-detail h2{
	color: #F89138;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 5%;
}
#voice ul li .voice-detail p{
	margin: 0;
}
#faq h1{
	margin-bottom: 5%;
}
.toggle {
	display: none;
}
.Label {
	padding: 1em;
	display: block;
	color: #000;
	background:#fff;
	border: 1px solid #000;
	font-size: 1.1rem;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	padding: 1% 6% 1% 3%;
	font-weight: bold;
	line-height: 150%;
}
.Label span{
	color: #2878CB;
	font-size: 1.2rem;
	margin-right: 5px;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #2878CB;
	border-right: 2px solid #2878CB;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {
	height: 0;
	margin:7px 0 15px 0 ;
	padding:0 20px;
	overflow: hidden;
	background-color: #F2F2F2;
}
.content p{
	margin: 0;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}

.organization{
	display: block;
	width: 675px;
	margin-top: 30px;
}
.organization img{
	width: 100%;
}
#sdgs{
	padding: 20px 0;
}
#sdgs h2{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-size: 1.5rem;
	display: flex;
    align-items: center;
}
#sdgs h2:before,
#sdgs h2:after{
	content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #666;
}
#sdgs h2:before {
    margin-right: 20px;
}

#sdgs h1:after {
    margin-left: 20px;
}
#sdgs h3{
	text-align: center;
	margin-bottom: 5px;
}
#sdgs figure{
	text-align: center;
}




.mb20{
	margin-bottom: 20px;
}


#worry{
	background-color: #d2e4fc;
	padding: 5% 5% 2% 5%;
	margin-bottom: 0;
}
#worry h2{
	position: relative;
    color: #353535;
    font-weight: bold;
    font-size: 1.3rem;
    text-align: center;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	margin-bottom: 30px;
}
#worry h2:before,
#worry h2:after {
    position: absolute;
    top: 48%;
    width: 25%;
    border-top: 4px dotted;
    content: '';
}

#worry h2:before {
    left: -1rem;
}

#worry h2:after {
    right: -1rem;
}

.worry01,.worry02{
	background-color: #fff;
	padding: 3% 5% 3% 23%;
	margin: 10px 0;
	position: relative;
	border-radius: 7px;
}
.worry01 h3,.worry02 h3{
	color: #095ea7;
	font-size: 1.05rem;
	font-weight: bold;
	margin-bottom: 5px;
}
.worry01 p,.worry02 p{
	font-size: 0.9rem;
	font-weight: bold;
	margin: 0;
}
.worry01::before{
	content: url("../../services/images/icon01.png");
	width: 18%;
	position: absolute;
	top:-5px;
	left: 10px;
}
.worry02::before{
	content: url("../../services/images/icon02.png");
	width: 18%;
	position: absolute;
	top:0;
	left: 20px;
}
.worry-list{
	width: 100%;
	display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
	flex-wrap: wrap;
  justify-content:flex-start;
	margin: 5% 0 7% 0;
}
.worry-list li{
	width: 23%;
	margin: 0 1% 1% 1%;
	background-color: #b7d4fa;
	padding: 8% 2% 5% 2.5%;
	box-sizing: border-box;
	border: 2px solid #fff;
	position: relative;
	background-image: url("../../services/images/worry-txt.svg");
	background-size: 55%;
	background-repeat: no-repeat;
	background-position: center 15%;
	line-height: 130%;
}

.worry-list li:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #b7d4fa;
  z-index: 2;
}

.worry-list li:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -18px;
  border: 15px solid transparent;
  border-top: 15px solid #fff;
  z-index: 1;
}

.worry-list span{
	color: #ff0100;
	font-weight: bold;
}
.worry-contact{
	margin: 3% auto 10% auto;
}


#works h1{
	margin-bottom: 30px;
}
.css-carousel-slider8 {
    width: 100%;
    overflow: hidden;
    position: relative;
}
.css-carousel-slider8 img {
    width: 100%;
    height: auto;
    vertical-align: top;
}

/* スライド設定 */
.css-carousel-slider8 .slide-wrap {
    width: 800%;
    position: absolute;
    display: flex;
    top: 0;
    left: 0;
    z-index: 0;
    animation: css-carousel-slider8 60s infinite cubic-bezier(.01,1.08,0,.99);
    animation-delay: 2s;
}
.css-carousel-slider8 .slide-wrap-main {
    width: 100%;
    z-index: 1;
    animation: css-carousel-slider-main8 60s infinite cubic-bezier(.01,1.08,0,.99);
    animation-delay: 2s;
}
.css-carousel-slider8 .slide {
    width: 100%;
}

/* スライダーアニメーションの設定 */
@keyframes css-carousel-slider8 {
    0% { transform: translateX(0); }

    10.5% { transform: translateX(calc(1 / 8 * -100%)); }
    12.5% { transform: translateX(calc(1 / 8 * -100%)); }

    23% { transform: translateX(calc(2 / 8 * -100%)); }
    25% { transform: translateX(calc(2 / 8 * -100%)); }

    35.5% { transform: translateX(calc(3 / 8 * -100%)); }
    37.5% { transform: translateX(calc(3 / 8 * -100%)); }

    48% { transform: translateX(calc(4 / 8 * -100%)); }
    50% { transform: translateX(calc(4 / 8 * -100%)); }

    60.5% { transform: translateX(calc(5 / 8 * -100%)); }
    62.5% { transform: translateX(calc(5 / 8 * -100%)); }

    73% { transform: translateX(calc(6 / 8 * -100%)); }
    75% { transform: translateX(calc(6 / 8 * -100%)); }

    85.5% { transform: translateX(calc(7 / 8 * -100%)); }
    87.5% { transform: translateX(calc(7 / 8 * -100%)); }

    98% { transform: translateX(calc(8 / 8 * -100%)); }
    100% { transform: translateX(calc(8 / 8 * -100%)); }
}

@keyframes css-carousel-slider-main8 {
    0% { transform: translateX(100%); }
    87.5% { transform: translateX(100%); }
    98% { transform: translateX(0%);}
}