/* style - スタイル */

@charset "utf-8";


/* =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.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.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;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

body {
color:#333;
font-size:small;
font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
line-height:1.5;
background:#f1f1f1;
-webkit-text-size-adjust: none;
}


/* リンク設定
------------------------------------------------------------*/
a{color:#00a0e9;text-decoration:none;}
a:hover{color:#006699;}
a:active, a:focus {outline:0;}


/* 全体
------------------------------------------------------------*/
#wrapper{
margin:0 auto;
padding:0 1%;
width:98%;
position:relative;
background:#fff;
}

.inner{
margin:0 auto;
width:100%;
}


/*************
/* ヘッダー
*************/
#header{
height:110px;
}

#header h1{
padding:5px 0 10px 10px;
font-size:12px;
font-weight:normal;
}

/*************
/* ロゴ
*************/
.logo{
float:left;
padding:0 14px;
}

.logo p{float:left;}

.logo img{
width:auto;
height:50px;
float:left;
padding:0;
}

.logo span{display:block;}

/*************
/* 電話番号
*************/
.info{
float:right;
padding-right:20px;
text-align:right;
}

.info .open{font-size:1.1em;}


/*************
/* ロゴ+電話番号
*************/
.logo,.info .tel{
color:#00a0e9;
font-size:24px;
font-weight:bold;
}

.logo span,.info span{
color:#333;
font-size:.6em;
font-weight:normal;
}


/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner{
padding:0;
margin:0 0 15px;
width:100%;
position:relative;
line-height:0;
}

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

.slogan{
position:absolute;
max-width:100%;
height:auto;
bottom:10px;
left:10px;
padding:5px 10px;
line-height:1.4;
color:#fff;
background-color: rgba(0,0,0,0.4);
}

.slogan h2{
font-size:20px;
}


/**************************
/* グリッド
**************************/
.gridWrapper{
padding-bottom:20px;
overflow: hidden;
}

* html .gridWrapper{height:1%;}
  
.grid{
float:left;
border-radius:5px;
background:#fff;
}

.box{
margin:0;
padding:10px;
border:1px solid #ccc;
}

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

.box h3{
  font-size:1.3em;
  font-weight:bold;
  padding:5px 0;
}

.box h3, .box p{text-align:left;}

.box p.readmore{
padding:10px 5px 5px;
text-align:right;
}

a.box{
  position:relative;
  display:block;
  color:#333;
  padding-bottom:3em;
}

a.box .readmore{
  position:absolute;
  right:0;
  bottom:0;
  color:#00a0e9;
  padding:0 15px 15px;
}


/*************
メイン コンテンツ
*************/
section.content article{
padding:20px;
margin-bottom:20px;
border:1px solid #ebebeb;
overflow:hidden;
}

* html section.content article{height:1%;}

section.content p{margin-bottom:5px;}

h3.heading{
font-weight:normal;
padding:0 10px;
line-height:36px;
color:#fff;
background:url(usr_img/heading3.png) repeat-x 0 0;
}

.alignleft{
float:left;
clear:left;
margin:3px 10px 10px 0;
}

.alignright{
float:right;
clear:right;
margin:3px 0 10px 10px;
}

#gallery .grid img,.border{border:4px solid #ebebeb;}



/*************
テーブル
*************/
table.table{
border-collapse:collapse;
margin:5px auto 15px auto;
}

table.table td{
border-collapse:collapse;
background-color:#F9F9F9;
text-align:left;
padding:8px;
border:1px solid #D6D6D6;
line-height:20px;
}

table.table th{
background-color:#F5F5F5;
text-align:right;
padding:8px;
white-space:nowrap;
color: #151515;
border-top:1px solid #D4D4D4;
border-right:4px solid #D4D4D4;
border-bottom:1px solid #D4D4D4;
border-left:1px solid #D4D4D4;
font-size:13px;
font-weight:normal;
letter-spacing:1px;
background-repeat:repeat-x;
background-position:top;
}


/*************
/* サイドバー
*************/
#sidebar ul{padding-top:10px;}

#sidebar li{
margin-bottom:10px;
padding-bottom:10px;
list-style:none;
border-bottom:1px dashed #ebebeb;
}

#sidebar li:last-child{
border:0;
margin-bottom:0px;
}

#sidebar li a{display:block;}

ul.list li{
clear:both;
margin-bottom:5px;
padding:5px 0;
overflow:hidden;
}

ul.list li{height:1%;}

ul.list li img{
float:left;
margin-right:10px;
}

ul.list li{
font-size:12px;
line-height:1.35;
}


/*************
/* フッター
*************/
#footer{
clear:both;
overflow:hidden;
padding:10px 10px 20px 10px;
background:#e8e8e8;
}

* html #footer{height:1%;}

#footer .grid{
padding:10px 0 5px;
margin:0;
background:transparent;
}

#footer #info .logo, #footer #info .info{float:none;}

#footer #info .info{
clear:both;
padding:10px 0 0 15px;
text-align:left;
}

#footer .logo{font-size:18px;}

#footer .info .tel,#footer .info .tel span,#footer #info .open{font-size:12px;}

ul.footnav{
float:right;
width:620px;
padding:10px 0;
}

ul.footnav li{
float:left;
margin-bottom:10px;
padding:0 7px 0 8px;
border-right:1px solid #b6b6b6;
}

#footer a{color:#333;}

#footer a:hover{color:#888;}

address{
clear:both;
padding:5px;
text-align:center;
font-style:normal;
font-size:12px;
color:#fff;
background:#333;
}


/* PC用
------------------------------------------------------------*/
@media only screen and (min-width: 960px){
  nav#mainNav{
  padding:0 14px;
  clear:both;
  overflow:hidden;
  position:relative;
  background:url(usr_img/topnavBg.png);
  }

  nav#mainNav ul li{
  float: left;
  position: relative;
  }

  nav#mainNav li.last{border-right:1px solid #ebebeb;}

  nav#mainNav ul li a{
  display: block;
  text-align: center;
  _float:left;
  font-size:13px;
  width:154px;
  height:45px;
  padding-top:15px;
  color:#fff;
  background:url(usr_img/topnavSep.png) 0 -60px;
  border-left:1px solid #ebebeb;
  z-index:2;
  }

  nav#mainNav ul li a span,nav#mainNav ul li a strong{
  display:block;
  }

  nav#mainNav ul li a span{
  color:#006699;
  font-size:10px;
  }

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

  a#menu{display:none;}

  nav#mainNav li.active a,
  nav#mainNav li a:hover{
  color:#fff;
  background:url(usr_img/topnavSep_on.png) 0 0;
  padding-top:15px;
  }
  
  nav#mainNav li.active a span,
  nav#mainNav li a:hover span{color:#fff;}
  
  #subpage #mainBanner{margin:15px auto;}

  #wrapper,.inner{
  width:960px;
  padding:0;
  }
    
  #main{
  float:right;
  width:717px;
  padding-right:15px;
  }
  
  #sidebar{
  float:left;
  width:195px;
  padding:15px 0 0 15px;
  overflow:hidden;
  }
  
  #sidebar article{
  padding:7px;
  margin-bottom:20px;
  border:1px solid #ebebeb;
  overflow:hidden;
  }
  
  /* グリッド全体 */
  .gridWrapper{
  width:960px;
  margin:0;
  }
  
  #gallery article{padding:10px 0 10px 10px;}
  
  /* グリッド */
  .grid{
  float:left;
  width:300px;
  margin-left:20px;
  }
  
  #subpage .grid{width:auto;}
  
  #gallery .grid{
  width:auto;
  margin:10px 0 2px 10px;
  }
}


@media only screen and (max-width:959px){
  *{
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
  }
  
  nav#mainNav{
  clear:both;
  width:100%;
  margin:0 auto;
  padding:0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #f5f5f5), color-stop(0.5, #f0f0f0), color-stop(0.00, #f7f7f7));
  background: -webkit-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
  background: -moz-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
  background: -o-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
  background: -ms-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
  background: linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
  border:1px solid #e4e4e4;
  }

  nav#mainNav a.menu{
  width:100%;
  display:block;
  height:40px;
  line-height:40px;
  font-weight: bold;
  text-align:left;
  }

  nav#mainNav a#menu span{padding-left:10px;}
  nav#mainNav > a span:before{content: "→ ";}
  nav#mainNav a.menuOpen span:before{content: "↓ ";}

  nav#mainNav a#menu:hover{cursor:pointer;}

  nav .panel{
  display: none;
  width:100%;
  position: relative;
  right: 0;
  top:0;
  z-index: 1;
  }

  nav#mainNav ul li{
  float: none;
  clear:both;
  width:100%;
  height:auto;
  line-height:1.2;
  background:url(usr_img/bg.png);
  }

  nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
  display: block;
  padding:15px 10px;
  text-align:left;
  border-bottom:1px dashed #ccc;
  }
  
  nav#mainNav ul li a span{padding-left:10px;}
  
  nav#mainNav ul li:first-child a{
  border-top:1px solid #e4e4e4;
  }
  
  nav#mainNav ul li:last-child a{border:0;}
  
  nav#mainNav ul li.active a{  color:#006699;}

  nav div.panel{float:none;}
  
  #subpage #mainBanner{max-width:720px;}
  
  #sidebar article{padding:7px 8px;}
  
  #footer .grid,#footer ul.footnav{
  float:none;
  width:100%;
  text-align:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  }

  ul.footnav li{float:none;}
  
  .grid{
  width:32%;
  margin:0;
  }
  
  #gallery .grid{
  float:left;
  width:31%;
  margin:0 0 0 1%;
  }
  
  #footer .grid img, #footer .info{float:none;}
  #footer .grid p{display:block;}
  #footer #info .info{float:none;text-align:center;}
  
  #footer .logo,#footer .info{
  width:100%;
  float:none;
  }
  
  #footer .logo p{float:none;display:block;}
  #footer .logo img{float:none;padding:0;}
}


/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:640px){
  #header{
  height:auto;
  padding-bottom:20px;
  }
  
  #header h1,.logo,.info{text-align:center;}
  
  .logo,.info{
  clear:both;
  width:100%;
  float:none;
  }
  
  .logo p{float:none;display:block;}
  .logo img{float:none;padding:0;}
  
  .box img{
  float:none;
  margin:0;
  }
  
  .alignleft,.alignright{
  float:none;
  display:block;
  margin:0 auto 10px;
  }
  
  #gallery .grid{float:left;}
}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
  
  .grid{width:100%;}
  
  .grid:not(:last-child){margin-bottom:20px;}
  
  #mainBanner h2,#mainBanner p{font-size:80%;}
}


/* --------------------------------------------------------------- */
/* 以下、新規追加
/* --------------------------------------------------------------- */


/* 共通コンテンツ
--------------------------------------------------------------- */

.content_area{
  font-size:1.1em;
  line-height:1.6;
  padding:15px;
}

.content_inr{
  padding:0 15px;
}

.box_inr{
  position:relative;
  padding:20px;
  border:1px solid #CCC;
}

.heading + .box_inr{
  border-top:0;
}

.box_inr.is_quality{
  background:url(usr_img/bg_logo.png) center 135px no-repeat;
}

.content:not(:last-child){
  margin-bottom:2em;
}

#footer #info .logo img{
  max-width:250px;
  height:auto;
  float:none;
}


/* 見出し
--------------------------------------------------------------- */

.h_type3{
  display:block;
  font-weight:bold;
  font-size:1.3em;
}

.tellink{
  color:#00a0e9 !important;
  text-decoration:none;
}


/* テーブル
--------------------------------------------------------------- */

.tbl_type1{
  width:680px;
  margin:0 auto;
}

.tbl_type1 th,
.tbl_type1 td{
  font-weight:normal;
  vertical-align:top;
  padding:5px;
  border-bottom:1px dotted #cbcbcb;
}


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

.info_block{
  box-sizing:border-box;
  border:1px solid #ccc;
  border-top:0;
  padding:20px;
}


/* 下層ページ - 品質
--------------------------------------------------------------- */

.style_quality{
  text-align:center;
  font-size:28px;
  font-weight:500;
  font-family: "游明朝",YuMincho,"ヒラギノ明朝 Pro W3",Hiragino Mincho Pro,"ＭＳ Ｐ明朝",MS PMincho,serif;
  padding:2em 0;
  line-height:2;
}

.style_iso{
  text-align:center;
  margin-bottom:3em;
}


/* 下層ページ - 会社概要
--------------------------------------------------------------- */

.style_map{
  width:500px;
  margin:0 auto;
  text-align:center;
}

.style_map a{
  display:block;
  border:1px solid #00a0e9;
  text-align:center;
  font-size:16px;
  padding:10px;
  line-height:1;
  margin-top:10px;
}

.style_map a:hover{
  background-color:#00a0e9;
  color:#FFF;
}


/* 下層ページ - 事業内容
--------------------------------------------------------------- */

.list_business{
  display:flex;
  flex-wrap:wrap;
  margin-bottom:-4%;
}

.list_business li{
  position:relative;
  box-sizing:border-box;
  width:30.6%;
  margin:0 4% 4% 0;
  padding-bottom:2em;
}

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

.list_business li img{
  width:100%;
  max-width:100%;
}

.list_business li a{
  text-decoration:none;
  color:#333;
}

.list_business li a:hover{
  opacity:.7;
  color:#333;
}

.list_business li .more{
  position:absolute;
  right:0;
  bottom:0;
  color:#00a0e9;
}


/* 下層ページ - 実績
--------------------------------------------------------------- */

.list_performance{
  display:flex;
  flex-wrap:wrap;
  margin-bottom:-4%;  
}

.list_performance li{
  position:relative;
  box-sizing:border-box;
  width:23.31%;
  margin:0 2.25% 4% 0;
}

.list_performance li h3{
  font-size:1.1em;
  margin:.5em 0 0;
  line-height:1.125;
}

.list_performance figure{
  width:100%;
  height:16.38vw;
  max-height:207px;
  overflow:hidden;
}

.list_performance figure br{display:none;}

.list_performance figure img{
  width:100%;
  height:100%;
  object-fit: cover;
  object-position:center center;
  font-family:"object-fit:cover;"; /*IE対策*/
}


/* 追加パーツ - PC・TABのみ
--------------------------------------------------------------- */

@media print,screen and (min-width:481px){
  
  .gridWrapper{
    display:flex;
  }
  
  .gridWrapper .grid{
    float:none;
    margin:0 15px 0 0;
  }
  
  .gridWrapper .grid:nth-of-type(3n){margin-right:0;}
  
  .gridWrapper .grid .box{
    box-sizing:border-box;
    height:100%;
    margin:0;
  }
  
  #footer #info .logo{
    height:auto;
  }
  
  #footer #info .logo a{
    display:block;
  }
  
  .tbl_type1.is_style1 th{width:280px; text-align:center;}
  .tbl_type1.is_style2 th{box-sizing:border-box; width:280px; padding-left:80px;}
  .tbl_type1.is_center td{text-align:center;}
  
  .list_performance li:nth-of-type(4n){
    margin-right:0;
  }

}


/* 追加パーツ - SPのみ
--------------------------------------------------------------- */

@media screen and (max-width:480px){
  
  img{max-width:100%;}
    
  .logo img{
    width:auto;
    height:40px;
  }
  
  #footer #info .logo img{
    max-width:250px;
    width:250px;
  }
  
  #mainBanner img{
    width:100%;
    height:100%;
    object-fit: cover;
    object-position:center center;
    font-family:"object-fit:cover;"; /*IE対策*/
  }
  
  #mainBanner{
    height:22vw;
  }
  
  #mainBanner.is_top{
    height:auto;
  }
  
  .slogan{
    bottom:0;
    left:0;
  }
  
  #mainBanner.is_top .slogan{
    position:relative;
    bottom:auto;
    left:auto;
  }
  
  .tbl_type1{
    width:100%;
  }
  
  .tbl_type1 th{
    width:8em;  
  }
  
  .list_business{
    display:block;
    margin:0;
  }
  
  .list_business li{
    width:100%;
    margin:0 0 30px;
  }
  
  .list_performance figure{
    height:37vw;
  }
  
  .list_business li:last-child{
    margin-bottom:0;
  }
  
  .list_performance{
    justify-content: space-between;  
  }
  
  .list_performance li{
    width:calc(50% - 5px);
    margin:0 0 20px;
    font-size:.9em;
  }
  
  
  /* 下層ページ - 会社概要
  --------------------------------------------------------------- */
  
  .style_map{
    width:auto;
  }
  
  
  
  /* 下層ページ - 品質
  --------------------------------------------------------------- */
  
  .box_inr.is_quality {
    background-size:80% auto;
    background-position:center center;
  }

  .style_quality{
    font-size:4vw;
    padding:1em 0;
  }
  
  .style_iso{
    margin-bottom:2em;
  }
  
}

/* 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;}.mb1em{margin-bottom:1em !important;}.mb2em{margin-bottom:2em !important;}.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;}

}

/* エラー */

.error {
  margin: 100px 0 0 0;
  padding: 0;
  width: 500px;
  text-align: right;
}

.error-box {
  margin: 0;
  padding: 15px;
  font-size: 14px;
  text-align: left;
  border: solid 1px #888888;
  background-color: #ffffff;
}

/* メールフォーム用 */

/* お問い合わせ
------------------------------------------------------------*/

input,
textarea{font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

.formArea{
  padding-top:1em;
  margin:0 auto;
}

@media print, screen and (min-width:751px){
  .formArea{
    width:640px;
  }
}

.formRow{
  display:flex;
  flex-wrap: wrap;
  margin-bottom:15px;  
}

.formItemH{
  width:210px;
  font-weight:bold;
}

.formItemD{
  width:calc(100% - 210px);
}

.form_requir{color:#C1272D; margin-left:.5em;}

.formRow input[type="text"],
.formRow textarea{
  box-sizing:border-box;
  max-width:none;
  width:100%;
  height:auto;
  line-height:normal;
  padding:10px;
  border:1px solid #999;
  border-radius:0;
  background:#FFF;
  font-size:16px;
}

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

.form-food input{
  padding:10px 20px;
  margin-top:20px;
  background:#4488DD;
  border:0;
  box-shadow:0;
  color:#FFF;
  border-radius:5px;
}

.form-food input[type="submit"]:hover,
.form-food input[type="reset"]:hover,
.form-food input[type="button"]:hover{
  background:#1e5ba6;
}

.form-errors {
  color:#ff0000;
  padding-top:8px;
}

.form-food .form-fdc,
.form-food .form-fdr{display:inline-block; padding:0 10px;}

.form-food .form-fdc input{
  background-color:#333;
}

.form_requir {
  background-color:#ff3333;
  color:#ffffff;
  font-size:9px;
  line-height:100%;
  text-align:center;
  padding:0 4px;
  margin-left:10px;
}

.form_fld {
  font-weight:bold;
}

.form-errors {
  color:#ff0000;
  padding-top:8px;
}


@media print, screen and (max-width:640px){
  
 /* お問い合わせ
  ------------------------------------------------------------*/
  
  .formArea{
    width:auto;
  }
  
  .formRow{
    display:block;
    margin-bottom:10px;  
  }
  
  .formItemH{
    width:auto;
    margin-bottom:5px;
  }
  
  .formItemD{
    width:auto;
    margin-bottom:15px;
  }
  
  .form-food input{
    padding:5px 15px;
    margin-top:20px;
  }
  
  .form-food .form-fdc,
  .form-food .form-fdr{
    display:block;
  }
  
  .form-food input{
    display:block;
    width:100%;
  }
  
}


.compleatBox {
    background: #fff none repeat scroll 0 0;
    border: 1px solid #666;
    margin: 50px auto 100px;
    padding: 40px 20px;
    text-align: center;
    width: 600px;
}

@media screen and (max-width:640px){
    .compleatBox {
      background: #fff none repeat scroll 0 0;
      border: 1px solid #666;
      margin: 50px 20px 100px;
      padding: 40px 20px;
      text-align: center;
      width: auto;
  }
  
}

/* BXスライダー用 */

/* スライダー スタイル初期化
--------------------------------------------------------------- */
.slider_area .bx-wrapper .bx-viewport{/* スタイル初期化 */
  background:none;
  border:none;
  box-shadow:none;
  margin:0;
  padding:0;
  left:0;
}

.slider_area .bx-wrapper .bx-pager{/* ページャー位置初期化 */
  padding:0;
  line-height:1;
}

.slider_area .bx-wrapper{
  margin: 0px;
  border:0;
  background:none;
}

/* シングルスライダー
--------------------------------------------------------------- */
.slider_area{
  position: relative;
  width:930px;
  overflow: hidden;
  margin:0 auto; 
}

.slider_area > .slide_inner{

}

.slider_area > .slide_inner .bx-prev{
  left:10px;
  width:50px;
  height:50px;
  background:url(./pc/bxslider/images/controls_l.png) center center / 30px auto no-repeat;
  z-index:998;
  opacity:0;
  transition:.3s;
}

.slider_area > .slide_inner .bx-next{
  right:10px;
  width:50px;
  height:50px;
  background:url(./pc/bxslider/images/controls_r.png) center center / 30px auto no-repeat;
  z-index:998;
  opacity:0;
  transition:.3s;
}

.slider_area > .slide_inner:hover .bx-prev,
.slider_area > .slide_inner:hover .bx-next{
  opacity:1;
}

.slider_area .bx-wrapper .bx-controls-direction a{
position: absolute;
top: 50%;
margin-top: -25px;
outline: 0;
text-indent: -9999px;
z-index: 9999;
}

.slider_area .bx-wrapper .bx-prev:hover{background-position:center center;}
.slider_area .bx-wrapper .bx-next:hover{background-position:center center;}

.slider_area .bx-wrapper .bx-pager{
  position: absolute;
  bottom:15px;
  width: 100%;
}


@media screen and (max-width:879px){
  
.slider_area{
  height:auto;
  padding:0;
  width:100%;
  margin:0 auto;
}
  
.slider_area > .slide_inner{

}
  
.slider_area > .slide_inner img{
  width: 100% !important;
  height: auto !important;
}
  
.slider_area > .slide_inner .bx-prev,
.slider_area > .slide_inner .bx-next{
  display:none;
}

.slider_area .bx-wrapper .bx-pager{
  position: absolute;
  bottom:10px;
  width: 100%;
}
  
}

