/*
===== mainimg =====
*/
#mainimg {
  margin-bottom: 38px;
}

#mainimg .navi_area {
  width: 1084px;
  margin: 0 auto;
  position: relative;
}

#mainimg .slides > li {
  height: 469px;
}

#mainimg .inner {
  width: 1084px;
  margin: 0 auto;
  position: relative;
}

#mainimg .slide1 {
  background: url(../img/home/mainimg/1-bg.jpg) top no-repeat;
}

#mainimg .slide1 .text {
  position: absolute;
  left: 43px;
  top: 55px;
  z-index: 1;
}

#mainimg .slide1 .text p {
  padding-left: 20px;
  font-size: 128.5714285714%;
}

#mainimg .link {
  position: absolute;
  top: 0;
  width: 100%;
  height: 469px;
  z-index: 100;
}

#mainimg .slide2 {
  background: url(../img/home/mainimg/2-bg.jpg) top no-repeat;
}

#mainimg .slide3 {
  background: url(../img/home/mainimg/3-bg.jpg) top no-repeat;
}

#mainimg .slide4 {
  background: url(../img/home/mainimg/4-bg.jpg) top no-repeat;
}

#mainimg .slide5 {
  background: url(../img/home/mainimg/5-bg.jpg) top no-repeat;
}

@media screen and (max-width: 767px) {
  #mainimg {
    margin-bottom: 9.33vw;
  }
  #mainimg .navi_area {
    display: none;
  }
  #mainimg .slides > li {
    height: auto;
    background-size: cover;
  }
  #mainimg .inner {
    height: 0;
    padding-bottom: 36.1538461538%;
    width: 100%;
  }
  #mainimg .link {
    height: 100%;
  }
  #mainimg .flex-control-paging {
    bottom: -10.67vw;
  }
  #mainimg .flex-control-paging li a {
    background-color: #d3d3d3;
    height: 1.87vw;
    width: 1.87vw;
  }
  #mainimg .flex-control-paging li a.flex-active {
    background-color: #009973;
  }
}

/*
===== home_search =====
*/
#home_search {
  background: url(../img/home/search/bg.jpg) top repeat-x;
  padding: 21px 0px 0 36px;
  height: 69px;
  margin-bottom: 17px;
}

#home_search .jouken {
  float: left;
  margin-right: 20px;
}

#home_search .kataban {
  float: left;
  margin-right: 20px;
}

#home_search .kataban input[type=text] {
  line-height: 49px;
  height: 49px;
  border: 1px solid #CCCCCC;
  width: 213px;
  padding: 0 15px;
  float: left;
  font-size: 114.2857142857%;
}

#home_search .kataban input[type=image] {
  float: left;
}

#home_search .jirei {
  float: left;
}

/*
===== products_lineup =====
*/
#products_lineup {
  position: relative;
  width: 800px;
}

#products_lineup h2 {
  font-size: 1.0rem;
  padding-left: 15px;
  margin-bottom: 10px;
  width: 775px;
  border-bottom: 1px solid #e0e0e0;
  font-family: 'B PLUS Rounded 1c', sans-serif;
}

#products_lineup h2::before {
  display: inline-block;
  position: absolute;
  top: 0px;
  left: 0px;
  content: '';
  width: 4px;
  height: 24px;
  background-color: #00A273;
  margin-right: 2px;
}

#products_lineup ul:after {
  content: "";
  display: block;
  clear: both;
}

#products_lineup li {
  width: 125px;
  height: 130px;
  float: left;
  display: inline-block;
  margin-right: 6px;
  margin-bottom: 20px;
  background: white;
  background: -webkit-gradient(linear, left bottom, left top, from(white), color-stop(40%, #e6e6e6), to(gainsboro));
  background: linear-gradient(0deg, white 0%, #e6e6e6 40%, gainsboro 100%);
  border: 1px solid #e0e0e0;
}

#products_lineup li:nth-child(6) {
  margin-right: 0px;
}

#products_lineup li:nth-child(12) {
  margin-right: 0px;
}

#products_lineup a {
  -webkit-text-decoration-line: none;
  text-decoration-line: none;
}

#products_lineup li img {
  padding: 3px 3px 0 3px;
}

#products_lineup li span {
  display: block;
  font-size: 0.7rem;
  padding-top: 16px;
  padding-left: 16px;
  position: relative;
  color: #3B5F8E;
}

#products_lineup li span::before {
  display: block;
  content: '';
  width: 8px;
  height: 8px;
  background: url("../img/home/lineup/triangle.png") top left no-repeat;
  background-size: contain;
  position: absolute;
  left: 6px;
  top: 19px;
}

#products_lineup li .products_lineup__lines {
  padding-top: 8px;
}

#products_lineup li .products_lineup__lines:before {
  top: 11px;
}

@media screen and (max-width: 767px) {
  #products_lineup {
    width: 100%;
  }
  #products_lineup h2 {
    font-size: 4.27vw;
    padding-left: 4.27vw;
    margin-bottom: 4vw;
    position: relative;
    width: 100%;
  }
  #products_lineup h2::before {
    width: 1.07vw;
    height: 100%;
    margin-right: 0;
  }
  #products_lineup li {
    border: 1px solid #ccc;
    width: 49%;
    height: 12.8vw;
    margin-right: 2%;
    margin-bottom: 2.4vw;
  }
  #products_lineup li:nth-child(2n) {
    margin-right: 0;
  }
  #products_lineup li a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.33vw;
  }
  #products_lineup li img {
    padding: 0;
    height: auto;
    width: 14.13vw;
  }
  #products_lineup li span {
    font-size: 3.2vw;
    padding-top: 0;
    line-height: 1.2;
  }
  #products_lineup li span::before {
    left: 1.6vw;
    top: 0.8vw;
  }
  #products_lineup li .products_lineup__lines {
    padding-top: 0;
  }
  #products_lineup li .products_lineup__lines:before {
    top: 1.6vw;
  }
}

/*
===== newproducts =====
*/
#newproducts {
  position: relative;
  width: 800px;
}

#newproducts h2 {
  font-size: 1.0rem;
  padding-left: 15px;
  margin-top: 40px;
  margin-bottom: 10px;
  width: 775px;
  border-bottom: 1px solid #e0e0e0;
  font-family: 'B PLUS Rounded 1c', sans-serif;
}

#newproducts h2::before {
  display: inline-block;
  position: absolute;
  top: 0px;
  left: 0px;
  content: '';
  width: 4px;
  height: 24px;
  background-color: #00A273;
  margin-right: 2px;
}

.newproducts_slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.newproducts_slider_item {
  width: 256px;
  margin-right: 6px;
}

.newproducts_slider_item a {
  display: block;
  border: 1px solid #e0e0e0;
}

.newproducts_slider_item:last-child {
  margin-right: 0;
}

.newproducts_slider_item img {
  padding: 1px;
  height: auto;
  width: 100%;
}

@media screen and (max-width: 767px) {
  #newproducts {
    margin-top: 8vw;
    position: relative;
    width: 100%;
  }
  #newproducts h2 {
    font-size: 4.27vw;
    padding-left: 4.27vw;
    margin-bottom: 4vw;
    margin-top: 0;
    position: relative;
    width: 100%;
  }
  #newproducts h2::before {
    width: 1.07vw;
    height: 100%;
    margin-right: 0;
  }
  .newproducts_slider {
    display: block;
  }
  .newproducts_slider_item {
    margin-right: 0;
    padding-left: 6.13vw;
    padding-right: 6.13vw;
    width: 76.27vw;
  }
  .newproducts_slider_item a {
    display: block;
    border: none;
    width: 64vw;
  }
  .newproducts_slider_item img {
    padding: 0;
  }
  .newproducts_slider .slick-prev,
  .newproducts_slider .slick-next {
    z-index: 5;
  }
  .newproducts_slider .slick-prev:before,
  .newproducts_slider .slick-next:before {
    background: url(img/slide_icon_arrow.png) no-repeat left top;
    background-size: cover;
    content: '';
    display: block;
    height: 19px;
    width: 10px;
  }
  .newproducts_slider .slick-prev {
    left: 12.8vw;
  }
  .newproducts_slider .slick-prev:before {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
  }
  .newproducts_slider .slick-next {
    right: 8.53vw;
  }
  .newproducts_slider .slick-dots li {
    height: 7px;
    width: 7px;
  }
  .newproducts_slider .slick-dots li button {
    padding: 0;
    height: 7px;
    width: 7px;
  }
  .newproducts_slider .slick-dots li button:before {
    color: #d3d3d3;
    line-height: 7px;
    height: 7px;
    width: 7px;
    opacity: 1;
  }
  .newproducts_slider .slick-dots li.slick-active button:before {
    color: #009973;
  }
}

/*
===== news =====
*/
#home_news {
  position: relative;
  margin-top: 40px;
  margin-bottom: 35px;
  /*background:url(../common/css/img/border.jpg) top repeat-x;*/
  /*border-top: 1px solid #e0e0e0;*/
  padding: 20px 0 0 0;
}

#home_news h2 {
  font-size: 1.0rem;
  padding-left: 15px;
  margin-bottom: 20px;
  width: 775px;
  border-bottom: 1px solid #e0e0e0;
  font-family: 'B PLUS Rounded 1c', sans-serif;
}

#home_news h2::before {
  display: inline-block;
  position: absolute;
  top: 20px;
  left: 0px;
  content: '';
  width: 4px;
  height: 24px;
  background-color: #00A273;
  margin-right: 2px;
}

#home_news .more {
  position: absolute;
  right: 17px;
  top: 15px;
  border: 1px solid #CCCCCC;
}

#home_news .more a {
  display: block;
  border: 1px solid #fff;
  border-bottom-color: #E2E2E2;
  background: linear-gradient(top, #FEFEFE, #D5D5D5);
  background: -moz-linear-gradient(top, #FEFEFE, #D5D5D5);
  background: -webkit-gradient(linear, left top, left bottom, from(#FEFEFE), to(#D5D5D5));
  padding: 3px 15px;
  color: #000;
  text-decoration: none;
}

#home_news .more a:before {
  background: url(../common/css/img/icon_arrow.png) center no-repeat;
  width: 6px;
  height: 10px;
  content: "";
  display: inline-block;
  margin-right: 5px;
}

@media screen and (max-width: 767px) {
  #home_news {
    position: relative;
    margin-top: 14.4vw;
    margin-bottom: 0;
    padding: 0 5.33vw;
  }
  #home_news h2 {
    font-size: 4.27vw;
    padding-left: 4.27vw;
    margin-bottom: 4vw;
    position: relative;
    width: 100%;
  }
  #home_news h2::before {
    width: 1.07vw;
    height: 100%;
    margin-right: 0;
    top: 0;
  }
}

/*
===== side =====
*/
/* contact */
.side_contact {
  background: url(../common/css/img/border.jpg) bottom repeat-x;
  padding-bottom: 25px;
  margin-bottom: 28px;
}

.side_contact h3 {
  margin-bottom: 25px;
}

.side_contact p {
  margin: 0 18px 20px 18px;
}

.side_contact .button {
  text-align: center;
  margin-bottom: 10px;
}

.side_contact .link {
  text-align: center;
  margin-bottom: 10px;
  font-size: 107.1428571429%;
}

/* --------------------------------
 * facebook
 * -------------------------------- */
.side_facebook {
  background: url(../common/css/img/border.jpg) bottom repeat-x;
  padding-bottom: 25px;
  margin-bottom: 28px;
}

@media screen and (max-width: 767px) {
  .side_facebook {
    width: 100%;
    background: none;
    padding: 13.33vw 5.33vw 0;
    margin-bottom: 0;
  }
  .side_facebook iframe {
    display: block;
    margin: 0 auto;
    height: 400px;
  }
}

/* --------------------------------
 * technology
 * -------------------------------- */
.side_technology {
  background: url(../common/css/img/border.jpg) bottom repeat-x;
  padding-bottom: 25px;
  margin-bottom: 28px;
}

.side_technology h3 {
  margin-bottom: 10px;
}

.side_technology p {
  margin: 0 18px 20px 18px;
  text-align: left;
}

.side_technology ul {
  margin: 0 10px 15px 10px;
}

.side_technology li {
  border: 1px solid #D3D3D3;
  margin-bottom: 10px;
}

.side_technology li a {
  display: block;
  color: #333;
  position: relative;
  padding: 14px 10px 14px 13px;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(15%, #ffffff), color-stop(15%, #ffffff), to(#D1D1D1));
  background: linear-gradient(top, #ffffff, #ffffff 15%, #ffffff 15%, #D1D1D1);
  background: -ms-linear-gradient(top, #ffffff, #ffffff 15%, #ffffff 15%, #D1D1D1);
  border-width: 0 1px 1px 1px;
  border-style: solid;
  border-color: #EBEBEB;
  text-decoration: none;
  font-size: 114.2857142857%;
}

.side_technology li a:before {
  background: url(../common/css/img/icon_arrow.png) center no-repeat;
  width: 6px;
  height: 10px;
  content: "";
  display: inline-block;
  margin-right: 5px;
}

/*
===== banner =====
*/
.bottom_banner {
  margin-top: 90px;
  zoom: 1;
}

.bottom_banner:after {
  content: "";
  display: block;
  clear: both;
}

.bottom_banner li {
  float: left;
  margin-right: 15px;
}

.bottom_banner li:last-child {
  margin-right: 0;
}

/*
===== products_lineup =====
*/
#products_lineup li span {
  padding-top: 8px;
}

#products_lineup li span::before {
  top: 11px;
}

@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(//fonts.googleapis.com/css?family=Noto+Serif+JP:400,700&amp;subset=japanese);

#mainimg .slides>li {
  height: auto;
  position: relative;
}
#mainimg .slides>li a.link_mv {
  opacity: 1;
}

#mainimg .slides>li .box_txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#mainimg .slides>li .box_txt .box_txt_inner {
  width: 100%;
  max-width: 1140px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
#mainimg .slides>li .box_txt .box_txt_inner .mv_txt {
  margin-left: 130px;
}
#mainimg .slides>li .box_txt .box_txt_inner .mv_txt p {
  color: #fff;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#mainimg .slides>li .box_txt .box_txt_inner .mv_txt p.mv_copy {
  font-size: 62px;
  font-weight: bold;
  line-height: 1.25;
  margin-bottom: 40px;
}
#mainimg .slides>li .box_txt .box_txt_inner .mv_txt p.mv_sub_copy {
  font-size: 20px;
  line-height: 2;
}

.flex-direction-nav {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  position: relative;
}
.flex-direction-nav a {
  top: -270px;
}
.flex-direction-nav .flex-prev {
  opacity: 1; left: 10px; background: url(../img/home/mainimg/arrow_left.png) no-repeat left;
}
.flex-direction-nav .flex-next {
  opacity: 1; right: 10px; background: url(../img/home/mainimg/arrow_right.png) no-repeat right;
}

#mainimg .flex-control-nav {
  bottom: 30px;
}
#mainimg .flex-control-nav li {
  margin: 0 7.5px;
}
#mainimg .flex-control-paging li a {
  width: 32px;
  height: 32px;
  background: transparent;
  -webkit-border-radius: none;
  -moz-border-radius: none;
  -o-border-radius: none;
  border-radius: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  -o-box-shadow: none;
  box-shadow: none;
  background: url(../img/home/mainimg/dot.png) no-repeat;
  background-size: 20px 20px;
  background-position: center;
}
#mainimg .flex-control-paging li a:hover {
  background: none;
  background: url(../img/home/mainimg/dot.png) no-repeat;
  background-size: 20px 20px;
  background-position: center;
  opacity: 1;
}
#mainimg .flex-control-paging li a.flex-active {
  width: 32px;
  height: 32px;
  background: url(../img/home/mainimg/dot02.gif) no-repeat;
  background-size: cover;
}

.navi_block {
  position: relative;
}
.navi_block .flexslider-controls {
  display: none;
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
  z-index: 10;
}
.navi_block .flexslider-controls .thumb {
  display: flex;
  justify-content: center;
}
.navi_block .flexslider-controls .thumb li {
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 7.5px;
}
.navi_block .flexslider-controls .thumb li img {
  display: block;
  width: 70%;
  cursor: pointer;
}
.navi_block .flexslider-controls .thumb li.flex-active img {
  display: none;
}
.navi_block .flexslider-controls .thumb li svg {
  display: none;
}
.navi_block .flexslider-controls .thumb li.flex-active svg {
  display: block;
  transform: rotate(-90deg);
}

#circle01,
#circle03,
#circle05,
#circle07,
#circle09{
  fill: transparent;
  stroke: rgba(255, 255, 255, 0.5);
  stroke-width: 3;
}

#circle02,
#circle04,
#circle06,
#circle08,
#circle10{
  fill: transparent;
  stroke: #fff;
  stroke-width: 3;
  animation: circle 41s; /* keyframes名 速さ 繰り返し 開始までの間隔 */
}
@keyframes circle {
  0% { stroke-dasharray: 0 366; }
  99.9%,to { stroke-dasharray: 366 366; }
}

@media screen and (min-width: 768px) {
  .flexslider .slides img {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  #mainimg .slides>li {
    height: auto;
  }
  #mainimg .slides>li .box_txt .box_txt_inner {
    width: 90%;
  }
  #mainimg .slides>li .box_txt .box_txt_inner .mv_txt {
    margin-left: 0;
  }
  #mainimg .slides>li .box_txt .box_txt_inner .mv_txt p.mv_copy {
    font-size: 8.8vw;
    margin-bottom: 20px;
  }
  #mainimg .slides>li .box_txt .box_txt_inner .mv_txt p.mv_sub_copy {
    font-size: 4.266666666666667vw;
  }

  #mainimg .flex-control-paging {
    bottom: 5.67vw;
  }
  #mainimg .flex-control-nav {
    bottom: 5.67vw;
  }
  #mainimg .flex-control-nav li {
    margin: 0 7.5px;
  }
  #mainimg .flex-control-paging li a {
    width: 4.266666666666667vw;
    height: 4.266666666666667vw;
    background-size: 2.6666666666666665vw 2.6666666666666665vw;
  }
  #mainimg .flex-control-paging li a:hover {
    background-size: 2.6666666666666665vw 2.6666666666666665vw;
  }
  #mainimg .flex-control-paging li a.flex-active {
    width: 4.266666666666667vw;
    height: 4.266666666666667vw;
    background-size: cover;
  }

  .navi_block .flexslider-controls {
    bottom: 5.67vw;
  }
  .navi_block .flexslider-controls .thumb li {
    width: 4.266666666666667vw;
    height: 4.266666666666667vw;
  }
  .navi_block .flexslider-controls .thumb li img {
    width: 60%;
    height: auto;
  }
}
