/* reset - リセット */

@charset "utf-8";


html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    vertical-align:baseline;
    background:transparent;
}

html {overflow-y: scroll;}

h1, h2, h3, h4, h5, h6{font-size:100%; font-weight:normal;}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
  display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

a{color:#333;}

ul, ol{list-style:none;}

img{vertical-align:bottom;}

address{
  font-style:normal;
}

main{display:block;}

/* style */

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
border:0;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
margin:0;
outline:0;
padding:0;
vertical-align:baseline;
}

:focus{
outline:0;
}

ol, ul{
list-style:none;
}

table{
border-collapse:separate;
border-spacing:0;
}

caption,th,td{
font-weight:normal;
text-align:left;
}

blockquote:before,blockquote:after,q:before,q:after{
content:"";
}

blockquote,q{
quotes:"" "";
}

a img{
border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}

body{
font:15px/2.0 "Lucida Sans Unicode", "Lucida Grande", Arial, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
-webkit-text-size-adjust:100%;
font-family:"游ゴシック Medium", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight:500;

min-width:1100px;
}

img{max-width:100%; width:auto; height:auto;}


/* リンク設定
------------------------------------------------------------*/

a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
font-weight:bold;
color:#0bba7a;
}

a:hover, a:active{
outline:none;
}

a{-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s;transition:.3s;}

a:hover{
  opacity:.7;
}

/**** Clearfix ****/

.nav .panel:before,nav .panel:after, #mainNav:before,#mainNav:after, .newsTitle:before,.newsTitle:after{
content:"";
display:table;
}

nav.panel:after,#mainNav:after,.newsTitle:after{
clear: both;
}

nav.panel,#mainNav,.newsTitle{
zoom: 1;
}


/* レイアウト
------------------------------------------------------------*/

.wrapper, .inner{
margin:0 auto;
width:1100px;
}

#content{
width:1100px;
padding:40px 0 50px;
}

#sidebar{
float:left;
width:320px;
padding:42px 0;
}

#footer{
clear:both;
padding-top:20px;
} 


/* ヘッダー
------------------------------------------------------------*/

#header h1{
padding-top:10px;
font-size:90%;
}

#header h2{
clear:both;
text-align:center;
margin-top:-30px;
color:#000000;
font-size:160%;
font-weight:bold;
}

#header h2 img{
width:174px;
}

.contact{
margin-top:-25px;
float:right;
text-align:left;
 font-weight:normal;
}

.contact p{
padding-left:80px;
font-size:90%;
}

.contact p.tel::before{
content: "電話番号：";
}

.contact p.openTime::before{
content: "営業時間：";
}

.contact p.address::before{
content: "工場住所：";
}


/* トップページ　メイン画像
----------------------------------*/

#mainImg img{
width:100%;
height:auto;
}


/* タイポグラフィ
------------------------------------------------------------*/

h2.title{
clear:both;
margin-bottom:40px;
padding-bottom:7px;
text-align:center;
font-size:150%;
font-weight:bold;
}

h2.title span{
padding-bottom:10px;
border-bottom:3px solid #000000;
}

h2.recentpost{
margin:30px 0 25px;
padding:15px 0;
font-size:150%;
font-weight:bold;
border-bottom:3px solid #000000;
}

.post p{
padding-bottom:15px;
}

.post ul{
margin:10px 0 20px 20px;
}

.post ul li{
padding-left:5px;
list-style:disc;
}

.post ol{
margin:0 0 10px 30px;
}

.post ol li{
list-style:decimal;
}

.post h1{
margin:15px 0 25px;
padding:15px 0;
font-size:150%;
font-weight:bold;
border-bottom:3px solid #000000;
}

.post h2{
margin:15px 0 25px;
padding:15px 0;
font-size:130%;
font-weight:bold;
border-bottom:2px solid #000000;
}

.post h3{
margin:15px 0 25px;
padding:15px 0;
font-size:120%;
font-weight:bold;
border-bottom:1px solid #000000;
}

.post h4{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}

.post h5{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}

.post h6{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}

.post blockquote {
clear:both;
padding:10px 0 10px 25px;
margin:10px 0 25px 0px;
border-left:5px solid #e9e9e9;
}
 
.post blockquote p{
padding:5px 0;
}

.post table{
border:1px #cccccc solid;
border-collapse:collapse;
border-spacing:0;
margin:10px 0 30px;
width:100%;
}

.post table th{
padding:15px;
border:#cccccc solid;
border-width:0 0 1px 1px;
font-weight:bold;
}

.post table td{
padding:15px;
border:1px #cccccc solid;
border-width:0 0 1px 1px;
}

.post dt{
font-weight:bold;
}

.post dd{
padding-bottom:10px;
}

.post img{
max-width:100%;height:auto;
}

img.aligncenter{
display:block;
margin:5px auto 30px auto;
text-align:center;
}

img.alignright{
margin:5px 0 30px 30px;
}

img.alignleft{
margin:5px 30px 30px 0;
}

.alignright{
float:right;
}

.alignleft{
float:left;
}


/* サイドバー　ウィジェット
------------------------------------------------------------*/

.widget{
margin-bottom:50px;
}

.widget h3{
clear:both;
margin:0 0 10px;
padding:5px 0;
font-size:130%;
font-weight:bold;
border-bottom:3px solid #000000;
}

.widget ul{
margin:30px 0 30px 0;
}

.widget li a{
display:block;
margin-top:15px;
color:#000000;
font-weight:bold;
}

.widget a:hover{
color:#cdcdcd;
}

p.banner{
padding-bottom:10px;
}

p.banner img{
width:100%;
}

#banners{
padding-bottom:10px;
}

#contactBanner{
width:320px;
height:80px;
padding-top:22px;
background:url(usr_img/banner_tel.jpg) no-repeat;
background-size:320px;
}

#contactBanner p.tel{
display:inline;
padding-left:60px;
font-weight:bold;
font-size:20px;
}

#contactBanner p.tel::before{
content:"TEL : ";
}

.newsTitle{
clear:both;
margin:15px 0 10px;
padding:5px 0;
font-size:130%;
font-weight:bold;
border-bottom:3px solid #000000;
}

.newsTitle h3{
float:left;
}

.newsTitle p{
float:right;
padding:5px 10px 0 10px;
font-size:70%;
}

.newsTitle p a{
color:#000000;
}

.news p a{
color:#000000;
}

.newsTitle p a:hover{
color:#cdcdcd;
}

.news{
margin:30px 0 30px 0;
}

.news p{
clear:both;
margin-top:15px;
}

.news p a{
display:block;
color:#000000;
font-weight:bold;
}

.news span{
padding-left:10px;
}

.news a:hover span{
color:#cdcdcd;
}


/* フッター
------------------------------------------------------------*/

#footerLogo{
float:left;
width:320px;
text-align:center;
padding-top:20px;
}

#footerLogo img{
width:150px;
}

#footer ul{
padding-top:50px;
text-align:center;
}

#footer ul ul{
display:none;
}

#footer ul li{
display:inline-block;
text-align:left;
padding:0;
margin-left:70px;
}

#footer ul li:first-child{
  margin-left:0;
}

#footer ul li a{
padding:0 0 0 12px;
color:#000000;
}

#footer ul li a:hover{
color:#cdcdcd;
}

#copyright{
clear:both;
padding:50px 0 37px;
text-align:center;
font-size:10px;
}

#pagetop{
position:fixed;
right:20px;
bottom:0px;
font-size:40px;
color:#CCC;
}


/* トップページ 最新記事3件 + 3つの画像
------------------------------------------------------------*/

.thumbWrap{
width:770px;
margin:0 -20px 20px 0;
}

.thumbWrap li{
display:inline-block;
width:233px;
margin:0 20px 20px 0;
vertical-align:top;
}

.thumbWrap img{
max-width:100%;
height:auto;
}

ul.thumbUnder h3{
padding-top:10px;
font-size:120%;
font-weight:bold;
}

ul.thumbUnder h3 span{
display:block;
}

ul.thumbUnder h3 a{
color:#000000;
}

ul.thumbUnder h3 a:hover{
color:#cdcdcd;
}

ul.thumbUnder li p{
margin:15px 0 10px;
}

ul.thumbUnder li img{
margin-top:10px;
}

ul.thumbUnder .thumbUnderDate{
font-size:80%;
}


/* メインメニュー　PC用
------------------------------------------------------------*/

@media only screen and (min-width:641px){

nav#mainnav{
position:relative;
margin-top:30px;
}

nav#mainnav ul{
display:flex;
justify-content:center;
align-items:center;
}

nav#mainnav ul li{
float:left;
}

nav#mainnav ul li a{
display:block;
text-align:center;
_float:left;
height:60px;
padding:0 40px 0;
line-height:60px;
font-weight:bold;
color:#000000;
}

nav#mainnav ul li a:hover{
color:#999999;
}

nav#mainnav ul ul{
width:160px;
border-top:0;
}

nav#mainnav ul li ul{
display: none;
}

nav#mainnav ul li:hover ul{
display: block;
position: absolute;
top:60px;
text-align:center;
z-index:500;
}

nav#mainnav ul li li{
background:#ffffff;
border-bottom:1px dotted #cdcdcd;
float: none;
width:160px;
height:40px;
line-height:40px;
margin:0;
}

nav#mainnav ul li li:last-child{
border:0;
}

nav#mainnav ul li li a{
width:100%;
height:40px;
padding:0;
line-height:40px;
font-size:95%;
text-align:center;
}

nav#mainnav ul li li a:hover{
color:#999999;
}

nav div.panel{
display:block !important;
}

a#menu{
display:none;
}

}


  /* 以下、SP
  ------------------------------------------------------------*/
  
  @media only screen and (max-width:640px){
    
  body{
    padding-top:60px;
    min-width:0;
  }
  
  #header{
  margin-top:20px;
  position:fixed;
  top:0;
  width:100%;
  z-index:500;
  }
    
  #headerWrap{
  position:relative;
  width:100%;
  height:70px;
  background:#ffffff;
  border-bottom:1px solid #cccccc;
  }
    
  #header h2{
  padding-top:15px;
  }
    
  #header h2 img{
  max-height:38px;
  width:auto !important;
  }
  
  #header .pnav ul{
  display:none;
  }
  
  a#menu{
  display:inline-block;
  position:relative;
  width:40px;
  height:60px;
  }
  
  #menuBtn{
  display:block;
  position:absolute;
  top:65%;
  left:30%;
  width:18px;
  height:2px;
  margin:-1px 0 0 -7px;
  background:#000000;
  transition:.2s;
  }
  
  #menuBtn:before, #menuBtn:after{
  display:block;
  content:"";
  position:absolute;
  top:50%;
  left:0;
  width:18px;
  height:2px;
  background:#000000;
  transition:.3s;
  }
  
  #menuBtn:before{
  margin-top:-7px;
  }
  
  #menuBtn:after{
  margin-top:5px;
  }
  
  a#menu .close{
  background:transparent;
  }
  
  a#menu .close:before, a#menu .close:after{
  margin-top:0;
  }
  
  a#menu .close:before{
  transform:rotate(-45deg);
  -webkit-transform:rotate(-45deg);
  }
  
  a#menu .close:after{
  transform:rotate(-135deg);
  -webkit-transform:rotate(-135deg);
  }
  
  .panel{
  width:100%;
  display:none;
  overflow:hidden;
  position:relative;
  left:0;
  top:0;
  z-index:100;
  }
  
  #mainnav{
  position:absolute;
  top:0;
  width:100%;
  min-height:70px;
  text-align:right;
  z-index:500;
  }
  
  #mainnav ul{
  background:#ffffff;
  text-align:left;
  }
  
  #mainnav li a{
  position:relative;
  display:block;
  padding:12px 25px;
  border-bottom:1px solid #eeeeee;
  color: #000000;
  font-weight:bold;
  }
  
  #mainnav ul li li{
  border:0;
  }
  
  #mainnav ul li li a{
  padding-left:40px;
  }
  
  
  #wrapper, .inner{
  width:100%;
  }
  
  .contact{
  display:none;
  }
  
  #header h1{
  display:none;
  }
  
  /*#mainImg img{
  padding-top:60px;
  }*/
  
  h2.first{
  margin-top:45px;
  }
  
  h2.title{
  padding-top:35px;
  }
  
  .thumbWrap{
  width:100%;
  }
  
  .thumbWrap ul.thumbUnder li{
  width:30%;
  display:inline-block;
  vertical-align:top;
  margin:0 1% 0 1.5%;
  }
  
  .thumbWrap ul.thumbUnder li img{
  width:100%;
  }
  
  .thumbWrap ul.thumb li{
  width:30%;
  float:left;
  margin:0 1% 0 2%;
  }
  
  #content, #sidebar{
  clear:both;
  width:95%;
  float:none;
  margin:0 auto;
  padding:10px 0;
  }
  
  #banners{
  width:100%;
  text-align:center;
  }
  
  #banners p{
  width:30%;
  float:left;
  margin:0 1% 0 1.5%;
  }
  
  #banners p img{
  width:100%;
  height:auto;
  }
  
  #contactBanner{
  margin:0 auto;
  }
  
  #footer{
  margin:0;
  border:0;
  text-align:center;
  }
  
  #footerLogo, #footer ul{
  float:none;
  width:auto;
  padding-bottom:20px;
  text-align:center;
  }
  
  #footer ul{
  padding-top:20px;
  }
  
  
  img.alignright, img.alignleft{
  display:block;
  margin:5px auto 20px auto;
  }
  
  .alignright,.alignleft{
  float:none;
  }
  
  .thumbWrap ul.thumbUnder li{
  width:95%;
  margin-bottom:10px;
  }
  
  .thumbWrap ul.thumbUnder li img{
  width:100%;
  }
  
  #banners p{
  float:none;
  width:95%;
  }
  
  #banners p img{
  width:100%;
  }
  
  #footer ul{
  text-align:left;padding:15px;
  }
  
  
  
  #footer ul{
  padding-top:0;
  text-align:center;
  }
  
  #footer ul ul{
  display:none;
  }
  
  #footer ul li{
  display:block;
  text-align:left;
  padding:10px;
  margin:0;
  border-bottom:1px dotted #999999;
  }
  
  #footer ul li:first-child{
    margin-left:0;
  }
  
  #footer ul li a{
  display:block;
  padding:0;
  color:#000000;
  }
  
  #footer ul li a:hover{
  color:#cdcdcd;
  }
  
  #copyright{
    padding:0 20px 20px;
  }
  
  
  }

/* contents - コンテンツ */

/* トップページ
------------------------------------------------------------*/

.top_thum{
  width:1100px;
  text-align:center;
  font-size:0;
  margin:0 auto 45px;
}

.top_thum li{
  position:relative;
  display:inline-block;
  width:250px;
  font-size:18px;
  margin:0 16.5px;
}

.top_thum li:first-child{margin-left:0;}
.top_thum li:last-child{margin-right:0;}

.top_thum li a:hover{
  opacity:1;
}

.top_thum li span.wrap{
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  
  display: flex;
  flex-direction: row;
  align-items:center;
  justify-content: space-around;
  
  background:rgba(0,0,0,0.2);
  transition:.3s;
}

.top_thum li span.title{
  font-size:18px;
  font-weight:bold;
  border-bottom:2px solid #FFF;
  color:#FFF;
  line-height:1;
  padding-bottom:5px;
}

.top_thum li span.wrap:hover{
  background:rgba(0,0,0,.7);
}

.top_thum li a:hover img{opacity:1;}

.top_recruit{
  text-align:center;
  padding:60px 20px;
  background:url(usr_img/top/bg_recruit.jpg) center center / cover no-repeat;
  margin-bottom:60px;
}

.top_recruit h3{
  width:600px;
  font-size:21px;
  font-weight:bold;
  margin:0 auto 30px;
  border-bottom:3px solid #000;
}

.top_info{
  position:relative;
  box-sizing:border-box;
  width:600px;
  border:3px solid #000;
  padding:45px 100px 55px;
  background:#FFF;
  margin:0 auto 60px;
}

.top_info h2{
  font-size:21px;
  font-weight:bold;
  border-bottom:3px solid #000;
  margin-bottom:30px;
}

.top_info .listlink{
  position:absolute;
  top:50px;
  right:100px;
  color:#333;
}

.top_info li:not(:last-child){
  margin-bottom:1em;
}

.top_info li span{
  margin-left:1em;
}

.top_info li a{
  color:#333;
}

.top_works_thum{
  margin-bottom:25px;
}

.top_works_thum li{
  float:left;
  width:210px;
  margin-right:12px;
}

.top_works_thum li:last-child{
  margin:0;
}


/* お知らせ
------------------------------------------------------------*/

.informations_list li{
  margin-bottom:1em;
}

.informations_list li a{
  color:#333;
}

.informations_list li span{
  margin-left:1em;
}


/* 事業内容
------------------------------------------------------------*/

.business_box{
  margin-bottom:60px;
  padding-top:30px;
}

.business_box:last-child{
  margin-bottom:0;
}

.business_box .photo{
  float:left;
  width:600px;
}

.business_box .photo li:nth-of-type(1){margin-bottom:10px;}
.business_box .photo li:nth-of-type(2){float:left;}
.business_box .photo li:nth-of-type(3){float:right;}

.business_box .txt{
  position:relative;
  box-sizing:border-box;
  float:right;
  width:450px;
  height:560px;
  border:1px solid #333;
  padding:30px;
}

.business_box .txt ul{
  margin-left:1em;
}

.business_box .txt li{
  text-indent:-1em;
}

.business_box .txt li:before{
  content:"・";
}

.business_box .btn_wrap{
  position:absolute;
  left:0;
  right:0;
  bottom:30px;
  margin:auto;
  text-align:center;
}


/* 求人情報
------------------------------------------------------------*/

.recruit_vis{
  position:relative;
  margin-bottom:60px;
}

.recruit_vis h3{
  position:absolute;
  top:0;
  right:0;
  box-sizing:border-box;
  width:460px;
  height:100%;
  text-align:center;
  font-size:18px;
  background:rgba(255,255,255,.6);
  
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-around;
}

.recruit_tbl{
  width:900px;
  margin:0 auto;
}


/* 会社概要
------------------------------------------------------------*/

.company_tbl{
  width:700px;
  margin:0 auto 90px;
}

.company_box:not(:last-child){
  margin-bottom:50px;
}

.company_box .txt{
  float:left;
  width:280px;
  padding-right:20px;
}

.company_box iframe{
  float:right;
  width:800px;
  height:450px;
}


/* 工場設備紹介
------------------------------------------------------------*/

.facility_vis{
  margin-bottom:60px;  
}

.facility_list{
  margin-bottom:-50px;
}

.facility_list li{
  float:left;
  width:260px;
  margin:0 20px 50px 0;
  text-align:center;
  font-weight:bold;
}

.facility_list li:nth-of-type(4n){
  margin-right:0;
}

.facility_list li:nth-of-type(4n+1){
  clear:both;
}

.facility_list li img{
  margin-bottom:20px;
}

.facility_list li.noimg{
  box-sizing:border-box;
  width:260px;
  height:260px;
  border:1px solid #000;
  padding:30px;
  text-align:left;
}


/* 実績
------------------------------------------------------------*/

.works_list{
  text-align:center;
  margin:0 auto 40px;
}

.works_list li{
  float:left;
  position:relative;
  width:260px;
  font-size:18px;
  margin:0 20px 20px 0;
}

.works_list li:nth-of-type(4n){
  margin-right:0;
}

.works_list li a:hover{
  opacity:1;
}

.works_list li span.wrap{
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  
  display: flex;
  flex-direction: row;
  align-items:center;
  justify-content: space-around;
  
  background:rgba(0,0,0,0);
  transition:.3s;
  opacity:0;
}

.works_list li span.title{
  font-size:18px;
  font-weight:bold;
  color:#FFF;
  line-height:1;
  background:url(usr_img/bg_arrow_w.png) center bottom / 16px auto no-repeat;
  padding-bottom:16px;
}

.works_list li span.wrap:hover{
  opacity:1;
  background:rgba(0,0,0,.7);
}

.works_list li a:hover img{opacity:1;}


/* お問合せ
------------------------------------------------------------*/

.privacy_box{
  border: 3px solid #cfcfcf;
  height: 150px;
  overflow: auto;
  padding: 15px;
  margin: 15px auto;  
}


/* 汎用パーツ
------------------------------------------------------------*/

.inner_box{
  width:870px;
  margin:0 auto 60px;
}

.txt_box1{
  border:3px solid #000;
  padding:25px;
  text-align:center;
}

.h_type1{
  font-size:21px;
  font-weight:bold;
  padding-bottom:20px;
  line-height:1.2;
  margin-bottom:30px;
  border-bottom:3px solid #000;
  text-align:center;
}

.h_type2{
  text-align:center;
}

.h_type2 span{
  display:inline-block;
  font-size:21px;
  font-weight:bold;
  padding-bottom:15px;
  line-height:1.2;
  margin-bottom:30px;
  border-bottom:3px solid #000;
  text-align:center;
}

.h_type3{
  font-size:21px;
  font-weight:bold;
  padding-bottom:20px;
  line-height:1.2;
  margin-bottom:30px;
  border-bottom:2px solid #000;
  text-align:left;
}

.h_type4{
  font-size:18px;
  text-align:center;
  margin-bottom:100px;
}

.btn_link{
  position:relative;
  display:inline-block;
  line-height:1;
  padding:10px 30px;
  border:3px solid #000;
  font-weight:bold;
  color:#333;
  text-decoration:none;
  transition:.3s;
}

.btn_link:hover{
  background:#FFF;
  opacity:.5;
}

.btn_link:after{
  position:relative;
  margin-left:.5em;
    content:" ";
    display:inline-block;
    width:16px;
    height:7px;
  background:url(usr_img/bg_arrow.png) 0 0 / contain no-repeat;
  line-height:1;
}

.tbl_type1{
  width:100%;
  margin:0 auto;
  border-top:2px solid #000;
  border-bottom:1px solid #000;
}

.tbl_type1 th,
.tbl_type1 td{
  padding:20px;
  border-bottom:1px solid #000;
}

.tbl_type1 th{
  text-align:center;
  border-right:1px solid #000;
  padding:20px 50px;
}

.tbl_type1 td{
  
}

.link_type1{
  color:#333;
  border-bottom:1px dotted #333333;
}


/* お問合せフォーム
--------------------------------------------------------------- */

.form_style .tbl_type1 th,
.form_style .tbl_type1 td{
  text-align:left;
  vertical-align:top;
}

.form_style .tbl_type1 th{
  width:130px;
  text-align:left;
  font-weight:bold;
}

.form_requir{
  display:inline-block;
  background:#E34040;
  color:#FFF;
  font-size:11px;
  padding:5px;
  line-height:1;
}

input[type="text"],
input[type="email"],
input[type="button"],
input[type="submit"],
textarea,
select{
  font-size:16px;
  -webkit-appearance: none;
}

.form_style input[type="text"],
.form_style textarea,
.form_style select{
  box-sizing:border-box;
  padding:5px 10px;
  border:1px solid #999;
  background:#FFF;
}

input[type="button"],
input[type="submit"]{
  display:inline-block;
  box-sizing:border-box;
  padding:15px;
  background:#FFF;
  border:3px solid #000;
  font-weight:bold;
  font-size:18px;
  margin:0 15px;
}

input[type="button"]:hover,
input[type="submit"]:hover{
  cursor:pointer;
}

.form-fdl{
  margin-bottom:15px;
}

.form-fdr{
  text-align:center;
}

.form-errors{
  padding-top:10px;
  color:#F00;
}

.form-fdc{
  display:inline-block;
  margin-bottom:20px;
}

.form-fdr{
  display:inline-block;
}

.form-food{
  text-align:center;
}

.form-send input.form-submit{
  background:#000;
  color:#FFF;
}


/* 固定メニュー用 アンカー位置調整
--------------------------------------------------------------- */

.anchor_block{
    margin-top:-20px;
    padding-top:20px;
}


/* 以下、PCのみ
------------------------------------------------------------*/

@media only screen and (min-width: 641px){



}


  /* 以下、SP
  ------------------------------------------------------------*/
  
  @media only screen and (max-width: 640px){
  
  .wrapper{
    width:auto;
    padding:0 20px;
  }
  
  .wrapper.s_low{
    padding-top:40px;
  }
  
  .inner{
    width:auto;
    padding:0;
  }
  
  #content, #sidebar{
    width:auto;
    padding:0;
  }
  
  /* トップページ
  ------------------------------------------------------------*/
  
  .top_thum{
    width:auto;
    text-align:center;
    font-size:0;
    padding-top:20px;
    margin:0 auto;
  }
  
  .top_thum li{
    position:relative;
    display:block;
    width:auto;
    height:100px;
    font-size:18px;
    margin:0 0 20px;
    overflow:hidden;
  }
  
  .top_thum li:nth-of-type(2),
  .top_thum li:nth-of-type(4){
    margin:0 0 20px;
  }
  
  .top_thum li:last-child{
    margin-bottom:0;
  }
  
  .top_thum li img{
    position:relative;
    top:-50px;
  }
  
  .top_thum li a:hover{
    opacity:1;
  }
  
  .top_thum li span.wrap{
    display:block;
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    
    display: flex;
    flex-direction: row;
    align-items:center;
    justify-content: space-around;
    
    background:rgba(0,0,0,0.2);
    transition:.3s;
  }
  
  .top_thum li span.title{
    font-size:18px;
    font-weight:bold;
    border-bottom:2px solid #FFF;
    color:#FFF;
    line-height:1;
    padding-bottom:5px;
  }
  
  .top_thum li span.wrap:hover{
    background:rgba(0,0,0,.7);
  }
  
  .top_thum li a:hover img{opacity:1;}
  
  .top_recruit{
    text-align:center;
    padding:60px 20px;
    background:url(usr_img/top/bg_recruit.jpg) center center / cover no-repeat;
    margin-bottom:20px;
  }
  
  .top_recruit h3{
    width:auto;
    font-size:21px;
    font-weight:bold;
    margin:0 auto 30px;
    border-bottom:3px solid #000;
  }
  
  .top_info{
    position:relative;
    box-sizing:border-box;
    width:auto;
    border:3px solid #000;
    padding:20px;
    background:#FFF;
    margin:20px 20px 40px;
  }
  
  .top_info h2{
    font-size:21px;
    font-weight:bold;
    border-bottom:3px solid #000;
    margin-bottom:15px;
  }
  
  .top_info .listlink{
    position:absolute;
    top:25px;
    right:20px;
    color:#333;
    text-align:right;
  }
  
  .top_info li:not(:last-child){
    margin-bottom:1em;
  }
  
  .top_info li span{
    margin-left:1em;
  }
  
  .top_info li a{
    color:#333;
  }
  
  .top_works_thum{
    margin-bottom:25px;
  }
  
  .top_works_thum li{
    box-sizing:border-box;
    float:left;
    width:50%;
    margin:0;
    padding:0 5px 10px 0;
  }
  
  .top_works_thum li:nth-of-type(2n){
    padding:0 0 10px 5px;
  }
  
  .top_works_thum li:last-child{
    display:none;
  }
  
  
  /* 事業内容
  ------------------------------------------------------------*/
  
  .business_box{
    margin-bottom:40px;
  }
  
  .business_box:last-child{
    margin-bottom:0;
  }
  
  .business_box .photo{
    float:none;
    width:auto;
    margin-bottom:20px;
  }
  
  .business_box .photo li:nth-of-type(1){margin-bottom:5px;}
  .business_box .photo li:nth-of-type(2){float:left; width:calc(50% - 2.5px);}
  .business_box .photo li:nth-of-type(3){float:right; width:calc(50% - 2.5px);}
  
  .business_box .txt{
    position:relative;
    box-sizing:border-box;
    float:none;
    width:auto;
    height:auto;
    border:1px solid #333;
    padding:20px;
  }
  
  .business_box .txt ul{
    margin-left:1em;
    margin-bottom:1em;
  }
  
  .business_box .txt li{
    text-indent:-1em;
  }
  
  .business_box .txt li:before{
    content:"・";
  }
  
  .business_box .btn_wrap{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    margin:auto;
    text-align:center;
  }
  
  
  /* 求人情報
  ------------------------------------------------------------*/
  
  .recruit_vis{
    position:relative;
    margin-bottom:30px;
  }
  
  .recruit_vis img{
    margin-bottom:20px;
  }
  
  .recruit_vis h3{
    position:relative;
    top:auto;
    right:auto;
    box-sizing:border-box;
    width:auto;
    height:auto;
    text-align:center;
    font-size:16px;
    background:rgba(255,255,255,.6);
    
    display:block;

  }
  
  
  /* 会社概要
  ------------------------------------------------------------*/
  
  .company_tbl{
    width:auto;
    margin:0 auto 50px;
  }
  
  .company_box{
    text-align:center;
  }
  
  .company_box:not(:last-child){
    margin-bottom:25px;
  }
  
  .company_box .txt{
    float:none;
    width:auto;
    padding-right:0;
    margin-bottom:20px;
  }
  
  .company_box iframe{
    float:none;
    width:100%;
    height:350px;
  }
  
  
  /* 工場設備紹介
  ------------------------------------------------------------*/
  
  .facility_vis{
    margin-bottom:30px;  
  }
  
  .facility_list{
    margin:0 -2.5px 0;
  }
  
  .facility_list li{
    box-sizing:border-box;
    float:left;
    width:33.3%;
    padding:2.5px;
    margin:0 0 1em;
    text-align:center;
    font-size:2.1875vw;
    font-weight:bold;
    line-height:1.3;
  }
  
  .facility_list li:nth-of-type(4n){
    margin-right:0;
  }
  
  .facility_list li:nth-of-type(4n+1){
    clear:inherit;
  }
  
  .facility_list li:nth-of-type(3n+1){
    clear:both;
  }
  
  .facility_list li img{
    margin-bottom:1em;
  }
  
  .facility_list li.noimg{
    clear:both;
    box-sizing:border-box;
    display:block;
    width:100%;
    height:auto;
    border:1px solid #000;
    padding:20px;
    text-align:left;
    line-height:1.6;
  }
  
  
  /* 実績
  ------------------------------------------------------------*/
  
  .works_list{
    text-align:center;
    margin:0 -2.5px 30px;
  }
  
  .works_list li{
    box-sizing:border-box;
    float:left;
    position:relative;
    width:33.3%;
    font-size:2.8125vw;
    margin:0;
    padding:2.5px;
  }
  
  .works_list li:nth-of-type(4n){
    margin-right:0;
  }
  
  .works_list li a:hover{
    opacity:1;
  }
  
  .works_list li span.wrap{
    box-sizing:border-box;
    display:block;
    width:calc(100% - 5px);
    height:calc(100% - 5px);
    position:absolute;
    top:2.5px;
    left:2.5px;
    
    display: flex;
    flex-direction: row;
    align-items:center;
    justify-content: space-around;
    
    background:rgba(0,0,0,0);
    transition:.3s;
    opacity:0;
  }
  
  .works_list li span.title{
    font-size:2.8125vw;
    font-weight:bold;
    color:#FFF;
    line-height:1;
    background:url(usr_img/bg_arrow_w.png) center bottom / 16px auto no-repeat;
    padding-bottom:16px;
  }
  
  .works_list li span.wrap:hover{
    opacity:1;
    background:rgba(0,0,0,.7);
  }
  
  .works_list li a:hover img{opacity:1;}
  
  
  /* 汎用パーツ
  ------------------------------------------------------------*/
  
  .inner_box{
    width:auto;
    margin:0 auto 20px;
  }
  
  .txt_box1{
    border:3px solid #000;
    padding:25px;
    text-align:center;
    margin-bottom:20px;
  }
  
  .h_type1{
    font-size:21px;
    font-weight:bold;
    padding-bottom:20px;
    line-height:1.2;
    margin-bottom:20px;
    border-bottom:3px solid #000;
    text-align:center;
  }
  
  .h_type4{
    font-size:18px;
    text-align:center;
    margin-bottom:50px;
  }
  
  
  .btn_link{
    position:relative;
    display:inline-block;
    line-height:1;
    padding:10px 30px;
    border:3px solid #000;
    font-weight:bold;
    color:#333;
    text-decoration:none;
    transition:.3s;
  }
  
  .btn_link:hover{
    background:#FFF;
    opacity:.5;
  }
  
  .btn_link:after{
    position:relative;
    margin-left:.5em;
    content:" ";
    display:inline-block;
    width:16px;
    height:7px;
    background:url(usr_img/bg_arrow.png) 0 0 / contain no-repeat;
    line-height:1;
  }
  
  .tbl_type1{
    width:100%;
    margin:0 auto;
    border-top:2px solid #000;
    border-bottom:1px solid #000;
  }
  
  .tbl_type1 th,
  .tbl_type1 td{
    display:block;
    padding:10px;
    border:0;
    border-bottom:1px solid #000;
  }
  
  .tbl_type1 th{
    text-align:center;
    border-right:0;
    font-weight:bold;
  }
  
  .tbl_type1 td{
    padding:30px 10px;
  }
  
  .recruit_tbl{
    width:auto;
    margin:0 auto;
  }
  
  
  /* お問合せフォーム
  --------------------------------------------------------------- */
  
  .form_style .tbl_type1 th,
  .form_style .tbl_type1 td{
    text-align:left;
    vertical-align:top;
  }
  
  .form_style .tbl_type1 th{
    box-sizing:border-box;
    width:100%;
    text-align:center;
    font-weight:normal;
  }
  
  input[type="text"],
  input[type="email"],
  input[type="button"],
  input[type="submit"],
  textarea,
  select{
    color: #000;
    box-sizing:border-box;
    width:100% !important;
  }
  
  .form-fdc{
    display:block;
    margin-bottom:20px;
  }
  
  .form-fdr{
    display:block;
  }
  
  input[type="button"],
  input[type="submit"]{
    margin:0;
  }
  
  
  /* 固定メニュー用 アンカー位置調整
  --------------------------------------------------------------- */
  
  .anchor_block{
    margin-top:-80px;
    padding-top:80px;
  }
  
  }

/* library - ライブラリ */

.pc_only_block{display:block;}
.pc_only_inline{display:inline;}

.sp_only_block{display:none;}
.sp_only_inline{display:none;}

@media screen and (max-width:640px){

.pc_only_block{display:none;}
.pc_only_inline{display:none;}

.sp_only_block{display:block;}
.sp_only_inline{display:inline;}

}

/* margin
--------------------------------------------------------------- */
.mauto{margin:0 auto;}.m0{margin:0;}.mb0{margin-bottom:0;}.mb5{margin-bottom:5px;}.mb10{margin-bottom:10px;}.mb15{margin-bottom:15px;}.mb20{margin-bottom:20px;}.mb25{margin-bottom:25px;}.mb30{margin-bottom:30px;}.mb35{margin-bottom:35px;}.mb40{margin-bottom:40px;}.mb50{margin-bottom:50px;}.mb300{margin-bottom:300px;}.mleft0{margin-left:0;}.mleft5{margin-left:5px;}.mleft10{margin-left:10px;}.mleft15{margin-left:15px;}.mleft20{margin-left:20px;}.mleft25{margin-left:25px;}.mleft30{margin-left:30px;}.mleft35{margin-left:35px;}.mright0{margin-right:0;}.mright5{margin-right:5px;}.mright10{margin-right:10px;}.mright15{margin-right:15px;}.mright20{margin-right:20px;}.mright25{margin-right:25px;}.mright30{margin-right:30px;}.mright35{margin-right:35px;}.mtop0{margin-top:0;}.mtop5{margin-top:5px;}.mtop10{margin-top:10px;}.mtop15{margin-top:15px;}.mtop20{margin-top:20px;}.mtop25{margin-top:25px;}.mtop30{margin-top:30px;}.mtop35{margin-top:35px;}

/* padding
--------------------------------------------------------------- */
.p0{padding:0;}.p5{padding:5px;}.p10{padding:10px;}.p15{padding:15px;}.pb0{padding-bottom:0;}.pb5{padding-bottom:5px;}.pb10{padding-bottom:10px;}.pb15{padding-bottom:15px;}.pb20{padding-bottom:20px;}.pb25{padding-bottom:25px;}.pb30{padding-bottom:30px;}.pb35{padding-bottom:35px;}.pleft0{padding-left:0;}.pleft5{padding-left:5px;}.pleft10{padding-left:10px;}.pleft15{padding-left:15px;}.pleft20{padding-left:20px;}.pleft25{padding-left:25px;}.pleft30{padding-left:30px;}.pleft35{padding-left:35px;}.pleft40{padding-left:40px;}.pleft45{padding-left:45px;}.pright0{padding-right:0;}.pright5{padding-right:5px;}.pright10{padding-right:10px;}.pright15{padding-right:15px;}.pright20{padding-right:20px;}.pright25{padding-right:25px;}.ptop0{padding-top:0;}.ptop5{padding-top:5px;}.ptop10{padding-top:10px;}.ptop15{padding-top:15px;}.ptop20{padding-top:20px;}.ptop25{padding-top:25px;}.ptop30{padding-top:30px;}.plr10{padding:0 10px;}.plr70{padding:0 70px;}

/* position
--------------------------------------------------------------- */
.txtleft{text-align:left;}.txtcenter{text-align:center;}.txtright{text-align:right;}.fleft{float:left;}.fright{float:right;}.clearfloat{clear:both;}

/* font
--------------------------------------------------------------- */
.bd{font-weight:bold;}.uline{text-decoration:underline;}.red{color:#FF0000;}.gold{color:#7F7611;}.green{color:#046B42;}.fsize11{font-size:11px;}.fsize12{font-size:12px;}.fsize13{font-size:13px;}


/* table
--------------------------------------------------------------- */
.vtop{vertical-align:top;}.vbottom{vertical-align:bottom;}.vmiddle{vertical-align:middle;}

/* clearfix
--------------------------------------------------------------- */
.cf:after{content:"";display:block;clear:both;}

/*
-------------------------------------------------------------------------------
 Responsive style
-------------------------------------------------------------------------------
*/

/* Responsive margin
--------------------------------------------------------------- */
.mb5rd{margin-bottom:5px;}.mb10rd{margin-bottom:10px;}.mb15rd{margin-bottom:15px;}.mb20rd{margin-bottom:20px;}.mb25rd{margin-bottom:25px;}.mb30rd{margin-bottom:30px;}.mb35rd{margin-bottom:35px;}.mb40rd{margin-bottom:40px;}.mb50rd{margin-bottom:50px;}.mb300rd{margin-bottom:300px;}.mleft5rd{margin-left:5px;}.mleft10rd{margin-left:10px;}.mleft15rd{margin-left:15px;}.mleft20rd{margin-left:20px;}.mleft25rd{margin-left:25px;}.mleft30rd{margin-left:30px;}.mleft35rd{margin-left:35px;}.mright5rd{margin-right:5px;}.mright10rd{margin-right:10px;}.mright15rd{margin-right:15px;}.mright20rd{margin-right:20px;}.mright25rd{margin-right:25px;}.mright30rd{margin-right:30px;}.mright35rd{margin-right:35px;}.mtop5rd{margin-top:5px;}.mtop10rd{margin-top:10px;}.mtop15rd{margin-top:15px;}.mtop20rd{margin-top:20px;}.mtop25rd{margin-top:25px;}.mtop30rd{margin-top:30px;}.mtop35rd{margin-top:35px;}

@media screen and (max-width:640px){

/* SP Responsive margin
--------------------------------------------------------------- */
.mb5rd{margin-bottom:2.5px;}.mb10rd{margin-bottom:5px;}.mb15rd{margin-bottom:7.5px;}.mb20rd{margin-bottom:10px;}.mb25rd{margin-bottom:12.5px;}.mb30rd{margin-bottom:15px;}.mb35rd{margin-bottom:17.5px;}.mb40rd{margin-bottom:20px;}.mb50rd{margin-bottom:25px;}.mb300rd{margin-bottom:150px;}.mleft5rd{margin-left:2.5px;}.mleft10rd{margin-left:5px;}.mleft15rd{margin-left:7.5px;}.mleft20rd{margin-left:10px;}.mleft25rd{margin-left:12.5px;}.mleft30rd{margin-left:15px;}.mleft35rd{margin-left:17.5px;}.mright5rd{margin-right:2.5px;}.mright10rd{margin-right:5px;}.mright15rd{margin-right:7.5px;}.mright20rd{margin-right:10px;}.mright25rd{margin-right:12.5px;}.mright30rd{margin-right:15px;}.mright35rd{margin-right:17.5px;}.mtop5rd{margin-top:2.5px;}.mtop10rd{margin-top:5px;}.mtop15rd{margin-top:7.5px;}.mtop20rd{margin-top:10px;}.mtop25rd{margin-top:12.5px;}.mtop30rd{margin-top:15px;}.mtop35rd{margin-top:17.5px;}
  
}


/* Responsive padding
--------------------------------------------------------------- */
.p5rd{padding:5px;}.p10rd{padding:10px;}.p15rd{padding:15px;}.pb5rd{padding-bottom:5px;}.pb10rd{padding-bottom:10px;}.pb15rd{padding-bottom:15px;}.pb20rd{padding-bottom:20px;}.pb25rd{padding-bottom:25px;}.pb30rd{padding-bottom:30px;}.pb35rd{padding-bottom:35px;}.pleft5rd{padding-left:5px;}.pleft10rd{padding-left:10px;}.pleft15rd{padding-left:15px;}.pleft20rd{padding-left:20px;}.pleft25rd{padding-left:25px;}.pleft30rd{padding-left:30px;}.pleft35rd{padding-left:35px;}.pleft40rd{padding-left:40px;}.pleft45rd{padding-left:45px;}.pright5rd{padding-right:5px;}.pright10rd{padding-right:10px;}.pright15rd{padding-right:15px;}.pright20rd{padding-right:20px;}.pright25rd{padding-right:25px;}.ptop5rd{padding-top:5px;}.ptop10rd{padding-top:10px;}.ptop15rd{padding-top:15px;}.ptop20rd{padding-top:20px;}.ptop25rd{padding-top:25px;}.ptop30rd{padding-top:30px;}.plr10rd{padding:0 10px;}.plr70rd{padding:0 70px;}


@media screen and (max-width:640px){

/* SP Responsive padding
--------------------------------------------------------------- */
.p5rd{padding:2.5px;}.p10rd{padding:5px;}.p15rd{padding:7.5px;}.pb5rd{padding-bottom:2.5px;}.pb10rd{padding-bottom:5px;}.pb15rd{padding-bottom:7.5px;}.pb20rd{padding-bottom:10px;}.pb25rd{padding-bottom:12.5px;}.pb30rd{padding-bottom:15px;}.pb35rd{padding-bottom:17.5px;}.pleft5rd{padding-left:2.5px;}.pleft10rd{padding-left:5px;}.pleft15rd{padding-left:7.5px;}.pleft20rd{padding-left:10px;}.pleft25rd{padding-left:12.5px;}.pleft30rd{padding-left:15px;}.pleft35rd{padding-left:17.5px;}.pleft40rd{padding-left:20px;}.pleft45rd{padding-left:22.5px;}.pright5rd{padding-right:2.5px;}.pright10rd{padding-right:5px;}.pright15rd{padding-right:7.5px;}.pright20rd{padding-right:10px;}.pright25rd{padding-right:12.5px;}.ptop5rd{padding-top:2.5px;}.ptop10rd{padding-top:5px;}.ptop15rd{padding-top:7.5px;}.ptop20rd{padding-top:10px;}.ptop25rd{padding-top:12.5px;}.ptop30rd{padding-top:15px;}.plr10rd{padding:0 5px;}.plr70rd{padding:0 35px;}

}

/* その他 */

.newImg{
  position:relative;
  top:-10px;
}

