

/*　フォント　*/
.fs-12{ font-size:75%;}
.fs-14{ font-size:85%;}
.fs-16{ font-size:100%;}
.fs-18{ font-size:115%;}
.fs-19{ font-size:120%;}
.fs-21{ font-size:130%;}
.fs-22{ font-size:135%;}
.fs-24{ font-size:150%;}
.fs-26{ font-size:160%;}
.fs-28{ font-size:175%;}
.fs-30{ font-size:185%;}
.fs-32{ font-size:200%;}
.fs-36{ font-size:225%;}
.fs-40{ font-size:250%;}
.txt-center{ text-align: center;}
.txt-right{ text-align: right;}
.txt-left{ text-align: left;}
.bold{ font-weight: bold;}
.lh-15{ line-height: 1.5em;}
.txt_color_main {color: #BD3F56;}
.txt_space {letter-spacing: -0.1em}
.txt_space_n {letter-spacing: -0.2em}
.txt_sansserif{font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Osaka','メイリオ','Meiryo',sans-serif; }
/*font-weight: normal;*/
  /* font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Osaka','メイリオ','Meiryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif; */


/*　リンク　*/
a {color: #222;  text-decoration: none;}
a:hover{ text-decoration: underline;}
a.link_blank:after{
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-left: 10px;
  color: #BD3F56;
}
a.link_mail::before{
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 10px;
  color: #BD3F56;
}
a.link_tel::before{
  content: "\f879";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-right: 10px;
  color: #BD3F56;
}
a.link_pdf::before{
content: "\f1c1";
font-family: "Font Awesome 5 Free";
font-weight: 400;
padding-right: 10px;
}

/* タイトル　*/
.title_h1l{font-size:250%;} /*40px*/
.title_h1{font-size:185%;} /*30px*/
.title_h2{font-size:150%;} /*24px*/
.title_h3{font-size:130%;} /*21px*/
.title_h1l, .title_h1, .title_h2, .title_h3{ font-weight: 600; line-height: 1.5em;}
.title_border{
  margin-bottom: 50px;
  padding: 20px;
  border-top: 1px solid #777;
  border-bottom: 1px solid #777;
}
.title_block{
  width: 100px;
  height: 100px;
  margin-bottom: 50px;
  text-align: center;
  color: #fff;
  background: #222;
  display: table-cell;
  vertical-align: middle;
}
.title_block span{
  font-size:85%;
}
.title_block_l{
  width: 120px;
  height: 120px;
  margin-bottom: 50px;
  text-align: center;
  color: #fff;
  background: #222;
  display: table-cell;
  vertical-align: middle;
}
.title_block_l span{
  font-size:80%;
}
.title_vw{
  line-height: 1.5em;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  text-orientation: upright;
}
@media screen and (max-width: 1024px) {
  .title_h1l{font-size:150%;}
  .title_h1{font-size:130%;}
  .title_h2{font-size:130%;}
  .title_h3{font-size:115%;}
  .title_border{
    margin-bottom: 30px;
    padding: 10px;
    text-align: center;
  }
  .title_block,
  .title_block_l{
    width: 80px;
    height: 80px;
    margin-bottom: 30px;
  }
  .title_vw{
    text-align: center;
    writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    display: block;
  }
}

/*　ボタン系　*/
.btn_arrow_box {
  display:block;
  position:relative;
  text-align: center;
  width: 200px;
  height: 50px;
  padding-top:10px;
  border: solid 1px #222;
  transition:all 0.3s ease;
}
.btn_arrow {
  width: 6em;
  display:block;
  position:relative;
  padding-right: 10px;
}
.btn_arrow_box::before,
.btn_arrow::before,
.btn_arrow_category::before {
  content:"";
  width:50px;
  position:absolute;
  top:50%;
  margin-top:-1px;
  right:-50px;
  border-top:1px solid #222;
  transition:all 0.3s ease;
  -webkit-transition:all 0.3s ease;
}
.btn_arrow_box::after,
.btn_arrow::after,
.btn_arrow_category::after {
  content:"";
  height:10px;
  position:absolute;
  top:50%;
  right:-43px;
  margin-top:-10px;
  border-left:2px solid #222;
  -webkit-transform:skewX(60deg);
  -moz-transform:skewX(60deg);
  transform:skewX(60deg);
  transition:all 0.3s ease;
  -webkit-transition:all 0.3s ease;
}
.btn_arrow_box:hover::before,
.btn_arrow:hover::before  {
  width:70px;
  right:-70px;
}
.btn_arrow_box:hover::after,
.btn_arrow:hover::after {
  right:-63px;
}
.btn_arrow_box:hover {
  text-decoration: none;
  background: #eee;
}
.btn_arrow:hover,
.btn_arrow_category:hover{
  text-decoration: none;
}
.btn_arrow_category{
  width: 100%;
  display:block;
  position:relative;
  padding-right: 10px;
}
.btn_arrow_category::before {
  right:20px;
}
.btn_arrow_category::after {
  right:27px;
}
.btn_arrow_category:hover::before{
  width:60px;
  right: 10px;
}
.btn_arrow_category:hover::after{
  right: 17px;
}


.btn_arrow_bgred {
  width: 250px;
  padding: 15px 25px;
  display:block;
  position:relative;
  background: #BD3F56;
  color: #fff;
  text-align: left;
}
.btn_arrow_bgred:hover{
  text-decoration: none;
}
.btn_arrow_bgred::before {
  content:"";
  width:50px;
  position:absolute;
  top:50%;
  margin-top:-1px;
  right:-50px;
  border-top:1px solid #fff;
  transition:all 0.3s ease;
  -webkit-transition:all 0.3s ease;
}
.btn_arrow_bgred::after {
  content:"";
  height:10px;
  position:absolute;
  top:50%;
  right:-43px;
  margin-top:-10px;
  border-left:2px solid #fff;
  -webkit-transform:skewX(60deg);
  -moz-transform:skewX(60deg);
  transform:skewX(60deg);
  transition:all 0.3s ease;
  -webkit-transition:all 0.3s ease;
}
.btn_arrow_bgred::before {
  right:20px;
}
.btn_arrow_bgred::after {
  right:27px;
}
.btn_arrow_bgred:hover::before {
  width:60px;
  right: 10px;
}
.btn_arrow_bgred:hover::after  {
  right: 17px;
}
@media screen and (max-width: 1024px) {
  .btn_block_lc a{
    margin: 0 auto;
  }
}


/*-------------------- 共通 --------------------*/
.mainimg{
  width: auto;
  max-height: 500px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mainimg img{
  width: 100%;
}
.main_block{
  width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1290px) {
  .main_block{
    width: 90%;
  }
}
@media screen and (max-width: 1024px) {
  .mainimg{
    width: 100%;
    max-height: 100%;
    overflow: visible;
    display: block;
  }
  .main_block{
    width: 90%;
  }
}
.maintxt_block{
  background: url(../img/bg_washi.jpg);
}
.maintxt{
  width: 1280px;
  margin: 0 auto;
  padding: 100px 0;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  text-orientation: upright;
  line-height: 2.5em;
  display: flex;
  align-items: center;
}
.maintxt h2{
  margin-left: 50px;
}
@media screen and (max-width: 1290px) {
  .maintxt{
    width: 90%;
    padding: 50px 0;
  }
}
@media screen and (max-width: 1024px) {
  .maintxt{
    text-align: center;
    writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    display: block;
  }
  .maintxt h2{
    margin: 0 0 30px 0;
  }
}
@media screen and (max-width: 768px) {
  .maintxt_sp_txtleft{
    text-align: left;
    line-height: 1.8em;
  }
}

/*　パンくず　*/
.breadcrumb {
  width: 1280px;
  margin: 0 auto 50px;
  padding: 10px 0;
}
.breadcrumb ul {
    display: flex;
}
.breadcrumb li::before {
    content: ">";
    margin: 0 10px;
}
.breadcrumb li:first-child::before {
    content: "";
    margin: 0;
}
@media screen and (max-width: 1290px) {
  .breadcrumb {
    width: 90%;
    margin: 0 auto 30px;
    overflow-x: scroll;
    word-break: keep-all;
    white-space: nowrap;
    /* IE, Edge 対応 */
    -ms-overflow-style: none;
    /* Firefox 対応 */
    scrollbar-width: none;
  }
  .breadcrumb::-webkit-scrollbar {
    display:none;
  }
}

/*　ページメニュー　*/
.category_menu,
.category_menu_l{
  margin-bottom: -50px;
  padding: 100px 0 50px;
  background: #eee;
}
.category_menu ul{
  width: 1050px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
}
.category_menu li{
  width: 500px;
  height: 150px;
  margin-bottom: 50px;
  padding: 20px;
  background-position: center center;
  background-size: cover;
}
.category_menu li a,
.category_menu_l li a{
  padding: 20px;
  font-size: 150%;
  line-height: 70px;
  display: block;
  background: rgba(256,256,256,0.7);
}
.category_menu li a:hover,
.category_menu_l li a:hover{
  background: rgba(256,256,256,0.8);
}
.category_menu_l ul{
  width: 800px;
  margin: 0 auto;
}
.category_menu_l li{
  width: 800px;
  height: 150px;
  margin-bottom: 50px;
  padding: 20px;
  background-position: center center;
  background-size: cover;
}
.category_menu_posture{ background: url(../about/img/btn_bg_posture.jpg) no-repeat;}
.category_menu_stock{ background: url(../about/img/btn_bg_stock.jpg) no-repeat;}
.category_menu_haccp{ background: url(../about/img/btn_bg_haccp.jpg) no-repeat;}
.category_menu_delivery{ background: url(../about/img/btn_bg_delivery.jpg) no-repeat;}
.category_menu_oem{ background: url(../about/img/btn_bg_oem.jpg) no-repeat;}
.category_menu_bushi{ background: url(../dashi/img/btn_bg_bushi.jpg) no-repeat;}
.category_menu_recipe{ background: url(../dashi/img/btn_bg_recipe.jpg) no-repeat;}
.category_menu_greeting{ background: url(../company/img/btn_bg_greeting.jpg) no-repeat;}
.category_menu_purpose{ background: url(../company/img/btn_bg_purpose.jpg) no-repeat;}
.category_menu_profile{ background: url(../company/img/btn_bg_profile.jpg) no-repeat;}
.category_menu_history{ background: url(../company/img/btn_bg_history.jpg) no-repeat;}

@media screen and (max-width: 1290px) {
  .category_menu ul{
    width: 90%;
  }
  .category_menu li{
    width: 48%;
  }
}
@media screen and (max-width: 1024px) {
  .category_menu{
    padding: 50px 0 50px;
  }
  .category_menu ul{
    display: block;
  }
  .category_menu li a{
    padding: 20px;
    font-size: 115%;
    line-height: 40px;
  }
  .category_menu li{
    width: 100%;
    height: 100px;
    margin-bottom: 20px;
    padding: 10px;
  }
  .category_menu_l ul{
    width: 90%;
  }
  .category_menu_l li{
    width: 100%;
  }
}


/*-------------------- ヘッダー --------------------*/
.header{
  width: 100%;
  height: 80px;
}
.header_logo{
  margin: 20px 0 0 30px;
  float: left;
}
.header_nav a:hover{
  text-decoration: none;
  opacity: 0.8;
  transition : 0.3s;
}
.header_nav_block{
  margin-right: 30px;
  float: right;
  display: flex;
  flex-wrap: wrap;
}
.header_nav_menu{
  margin-right: 30px;
}
.header_nav_menu li{
  margin: 0 50px 0 0;
  height: 80px;
  line-height: 80px;
  float: left;
  font-weight: bold;
}
.header_nav_menu li {
  position:relative;
}
.header_nav_menu li > ul {
  display:none;
}
.header_nav_menu li:hover ul {
  display:block;
  position:absolute;
  top:80px;
  left:0;
}
.header_nav_menu li ul li{
  width: 200px;
  height: 40px;
  padding: 0 10px;
  line-height: 40px;
  font-weight: normal;
  font-size: 85%;
  background: rgba(256,256,256,0.8);
}
.header_nav_menu li ul li a:before{
  content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
  padding-right: 10px;
  color: #BD3F56;
}
.header_nav_contact li a{
  font-size: 85%;
  display: block;
  text-align: center;
  font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Osaka','メイリオ','Meiryo', sans-serif; 
  color: #fff;
  background: #BD3F56;
}
.header_nav_contact li:first-child a{
  width: 200px;
  height: 40px;
  margin-bottom: 5px;
  line-height: 40px;
  border-radius: 0px 0px 5px 5px;
}
.header_nav_contact li:nth-child(2) a{
  width: 200px;
  height: 30px;
  line-height: 30px;
  border-radius: 5px 5px 5px 5px;
}
/* .header_nav_contact li:nth-child(2) a{
  width: 85px;
  height: 30px;
  float: left;
  line-height: 30px;
  border-radius: 5px 5px 5px 5px;
}
.header_nav_contact li:nth-child(3) a{
  width: 110px;
  height: 30px;
  float: right;
  line-height: 30px;
  border-radius: 5px 5px 5px 5px;
} */
@media screen and (max-width: 1290px) {
  .header_logo{
    margin: 20px 0 0 20px;
  }
  .header_nav_block,
  .header_nav_menu,
  .header_nav_menu li{
    margin-right: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .header{
    height: 70px;
  }
  .header_logo{
    margin: 20px 0 0 20px;
  }
  .header_nav_block,
  .header_nav_menu{
    margin-right: 0px;
  }
  .header_nav_menu {
    margin-bottom: 30px;
  }
  .header_nav_menu li{
    margin: 0 0px 0 0;
    height: 60px;
    line-height: 60px;
    float: none;
  }
  .header_nav_menu li:hover ul {
    display: none;
  }
  .header_nav_contact li a{
    background: none;
    border: solid 1px #fff;
  }
  .header_nav_contact li:first-child a{
    width: 250px;
    height: 40px;
    margin-bottom: 20px;
    line-height: 40px;
    border-radius: 5px 5px 5px 5px;
  }
  .header_nav_contact li:nth-child(2) a{
    width: 250px;
    height: 40px;
    line-height: 40px;
  }

  #header_nav_mobile {
    position: absolute;
    top: 20px;
    right: 20px;
    height: 32px;
    cursor: pointer;
  }
  #header_nav_mobile > div {
    position: relative;
    width: 36px;
  }
  #header_nav_mobile span {
    width: 100%;
    height: 2px;
    left: 0;
    display: block;
    background: #333;
    position: absolute;
    transition: transform 0.6s ease-in-out, top 0.5s ease;
  }
  #header_nav_mobile span:nth-child(1) {
    top: 0;
  }
  #header_nav_mobile span:nth-child(2) {
    top: 14px;
  }
  #header_nav_mobile span:nth-child(3) {
    top: 28px;
  }
  #header_nav_mobile:hover span:nth-child(1) {
    top: 0px;
  }
  #header_nav_mobile:hover span:nth-child(3) {
    top: 28px;
  }
  .open #header_nav_mobile span {
    background: #fff;
  }
  .open #header_nav_mobile span:nth-child(1) {
    top: 15px;
    transform: rotate(45deg);
  }
  .open #header_nav_mobile span:nth-child(2) {
    top: 15px;
    width: 0;
    left: 50%;
  }
  .open #header_nav_mobile span:nth-child(3) {
    top: 15px;
    transform: rotate(-45deg);
  }
  /* z-index */
  #header_nav_mobile {
    z-index: 1000;
  }
  #header_nav_list {
    background: #222;
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 990;
    text-align: center;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* font-size: 29px; */
    opacity: 0;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
  #header_nav_list a {
    color: #fff;
  }
  /* #header_nav_list ul li {
    opacity: 0;
    transition: transform 0.6s ease, opacity 0.2s ease;
  } */
  .open #header_nav_list {
    visibility: visible;
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .header_logo img{
    width: 80%;
  }
}


/*-------------------- フッター --------------------*/
.pagetop{
  width: 100%;
  height: 50px;
  position: relative;
  display: block;
  overflow: hidden;
}
.btn_top{
  margin: auto;
  position: absolute;
  transition: 0.3s;
  bottom: -10px;
  left: 0;
  right: 0;
  cursor: pointer;
}
.btn_top:hover{
  bottom: 0px;
}
.footer a {color: #fff;  text-decoration: none;}
.footer a:hover{ text-decoration: underline;}
.footer{ font-size: 85%; }
.footer{
  width: 100%;
  background: #222;
  color: #fff;
}
.footer_block{
  width: 1280px;
  margin: 0 auto;
  padding: 40px 0;
}
.footer_nav{
  width: 65%;
  float: right;
}
.footer_nav div{
  padding: 0 2% 0 0;
  float: left;
}
.footer_nav_about,
.footer_nav_dashi,
.footer_nav_company,
.footer_nav_recruit {
  width: 29%;
}
.footer_nav_product,
.footer_nav_contact {
  width: 42%;
}
.footer_label{
  padding: 5px 0 3px;
  display: block;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
  font-weight: bold;
}
.footer_nav div ul{
  margin: 10px 0 0 10px ;
  float: left;
}
.footer_nav_product div {
  width: 100%;
}
.footer_nav_product div ul{
  width: 45%;
}
.footer_nav_contact ul li a {
  margin-bottom: 10px;
  padding: 5px 20px;
  display: block;
  border: 1px solid #fff;
  border-radius: 5px 5px 5px 5px;
  text-decoration: none;
  text-align: center;
  font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Osaka','メイリオ','Meiryo',sans-serif; 
}
.footer_nav_contact ul li a:hover {
  background: rgba(256,256,256,0.2);
  transition : 0.3s;
  text-decoration: none;
}
.footer_nav_contact ul li p {
  padding: 2px 0 1px;
  border: none;
}
.footer_nav_contact ul li p:nth-child(1) {
  border-bottom: 1px solid #fff;
}

.footer_logo{
  width: 30%;
  float: left;
}
.footer_logo ul li{
  margin: 0 0 20px;
  text-align: center;
  line-height: 1.5em;
}

.copylight{
  width: 100%;
  padding: 10px 0;
  text-align: center;
  font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Osaka','メイリオ','Meiryo',sans-serif; 
}
@media screen and (max-width: 1290px) {
  .footer_block{
    width: 90%;
    margin: 0 auto;
    padding: 30px 0;
  }
  .footer_nav_about,
  .footer_nav_dashi,
  .footer_nav_company,
  .footer_nav_recruit {
    width: 25%;
  }
  .footer_nav_product,
  .footer_nav_contact{
    width: 50%;
  }
}
.footer_check{
    display: none;
}

@media screen and (max-width: 1024px) {
  .footer_nav,
  .footer_logo{
    width: 100%;
    float: none;
  }
  .footer_nav{
    margin-bottom: 30px;
  }
  .footer_nav div{
    padding: 0;
    float: none;
  }
  .footer_nav_about,
  .footer_nav_dashi,
  .footer_nav_company,
  .footer_nav_recruit,
  .footer_nav_product,
  .footer_nav_contact{
    width: 100%;
  }
  .footer_nav div {
    width: 100%;
  }
  .footer_nav div ul{
    width: 100%;
    margin: 0;
    padding: 10px;
    float: none;
  }
  .footer_nav_contact{
    margin-top: 30px;
  }
  .footer_label{
    padding: 10px;
    margin-bottom: -1px;
    display: block;
    position: relative;
    display: block;
  }
  .footer_label:after{
    box-sizing: border-box;
    content: '\f067';
    display: block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    height: 52px;
    padding: 10px 20px;
    position: absolute;
    right: 0;
    top: 0px;
  }
  .footer_content{
    display: block;
    height: 0;
    opacity: 0;
    /* padding: 0 10px; */
    transition: .5s;
    visibility: hidden;
    background: #444;
  }
  .footer_check:checked + .footer_label:after{
    content: '\f068';
  }
  .footer_check:checked + .footer_label + .footer_content{
    height: auto;
    opacity: 1;
    visibility: visible;
  }
}


/*-------------------- トップ --------------------*/
.mainimg_top{
  width: auto;
  max-height: 900px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mainimg_top img{
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .mainimg_top{
    width: 100%;
    max-height: 100%;
    overflow: visible;
    display: block;
  }
}
.top_bg_block{
  min-height: 550px;
  margin: 100px 0;
  overflow: hidden;
}
.top_about{
  background: url(../img/top_about_bg.jpg) no-repeat;
  background-position:top right;
  background-size: 60% auto;
}
.top_dashi{
  background: url(../img/top_dashi_bg.jpg) no-repeat;
  background-position:top left;
  background-size: 60% auto;
}
.top_product{
  width: 1280px;
  min-height: 800px;
  margin: 0 auto 100px;
  background: url(../img/top_product_bg.jpg) no-repeat;
  background-position:bottom right;
  background-size:contain;
}
.top_block{
  width: 1280px;
  margin: 0 auto;
}
.top_box{ width: 50%;}
.top_product .top_box{ width: 40%;}
.top_dashi .top_box{ float: right;}
.top_box h2{ float: left;}
.top_dashi .top_box h2{ float: right;}
.top_box div{
  width: 500px;
  margin: 50px 0;
  float: right;
}
.top_dashi .top_box div{
  float: left;
}
.top_product .top_box div{
  width: 350px;
}
.top_box div h3{
  margin-bottom: 50px;
  font-size:115%;
}
.top_box div p{
  margin-bottom: 50px;
}
.top_info_bg{
  margin-bottom: -50px;
  background: url(../img/bg_washi.jpg);
}
.top_info{
  width: 850px;
  margin: 0 auto;
  padding: 100px 0;
}
.top_info h2{
  float: left;
}
.info_list{
  width: 650px;
  margin-bottom: 20px;
  font-size: 85%;
  line-height: 1.5em;
  float: right;
}
.info_list li{
    margin: 0 0 20px 0;
}
.top_info_more a{
  margin-right: 70px;
  float: right;
}
.random {
  animation-name: fadein;
  animation-duration: 2s;
}
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media screen and (max-width: 1290px) {
  .top_product{
    width: 100%;
    margin: 0 auto 100px;
  }
  .top_product .top_box{ width: 50%;}
  .top_block{
        width: 90%;
  }
  .top_box div{
    width: 70%;
  }
  .top_box h2 { width: 20%;}
}
@media screen and (max-width: 1024px) {
  .top_bg_block{
    min-height: auto;
    margin: 50px 0;
  }
  .top_about, .top_dashi, .top_product{
    background: none;
  }
  /* .top_product{
    margin-bottom: 50px;
  } */
  .top_box, .top_product .top_box{ width: 100%;}
  .top_dashi .top_box{ float: none;}
  .top_box h2{
    width: 100%;
    margin-bottom: 30px;
    float:none;
  }
  .top_box div,
  .top_dashi .top_box div,
  .top_product .top_box div{
    width: 100%;
    margin: 30px 0;
    float:none;
  }
  .top_box div h3{
    margin-bottom: 30px;
    text-align: center;
  }
  .top_info{
    width: 90%;
    padding: 50px 0 80px;
  }
  .top_info h2{
    float: none;
  }
  .info_list {
    width: 90%;
    margin: 30px 0 ;
    float: none;
  }
  .info_list li{
    margin: 0 0 1em 0;
  }
}

.info_block{
  margin-bottom: 100px;
}
.info_block ul{
  width: 100%;
}
/* .info_block dt{
  padding: 20px;
  float: left;
} */
.info_block li{
  padding: 20px;
  border-top : 1px dashed #777;
}
.info_block li:last-child{
  border-bottom: 1px dashed #777;
}
@media screen and (max-width: 1024px) {
  .info_block{
    margin-bottom: 50px;
  }
}


/*-------------------- うつぼやのこだわり --------------------*/
.about_block,
.about_block_2box{
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
  margin-bottom: 100px;
}
.about_block_1box{
  margin-bottom: 50px;
}
.about_block_txtbox{
  width: 45%;
}
.about_block_1box .about_block_txtbox{
  width: 100%;
  margin-bottom: 50px;
}
.about_block_txtbox h2{
  float: left;
}
.about_block_txtbox p{
  width: 80%;
  float: right;
}
.about_block_2box .about_block_txtbox p,
.about_block_1box .about_block_txtbox p{
  width: 100%;
  margin-bottom: 20px;
  float: none;
}
.about_block_imgbox{
  width: 50%;
}
.about_block_1box .about_block_imgbox{
  width: 100%;
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
}
.about_block_1box .about_block_imgbox p{
  width: 48%;
  margin-bottom: 50px;
}
.about_block_1box_oem{
  margin-bottom: 100px;
}
.about_block_1box_oem h3,
.about_block_1box_oem p{
  margin-bottom: 20px;
}
.about_block_3box_oem{
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
}
.about_block_3box_oem div{
  width: 30%;
}
.about_block_3box_txt{
  height: 8em;
}
.about_block_1box_txt{
  margin-bottom: 50px;
}
.about_oem_box{
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
}
.about_oem_box li{
  width: 23%;
  border-radius: 10px 10px 10px 10px;
  border: solid 1px #222;
}
.about_oem_box li h3{
  padding: 10px 0;
  color: #fff;
  text-align: center;
  background: #222;
  border-radius: 10px 10px 0 0;
}
.about_oem_box li p{
  padding: 20px;
  margin: -20px 0 0 0;
}
.about_block_3box_oem div p:last-child{
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .about_block,
  .about_block_2box{
    display: block;
    margin-bottom: 50px;
  }
  .about_block_1box{
    margin-bottom: 20px;
  }
  .about_block_txtbox,
  .about_block_txtbox h2,
  .about_block_txtbox p,
  .about_block_imgbox {
    width: 100%;
    float: none;
  }
  .about_block_txtbox h2,
  .about_block_txtbox p,
  .about_block_1box .about_block_txtbox,
  .about_block_1box .about_block_imgbox p,
  .about_block_1box_txt{
    margin-bottom: 30px;
  }
  .about_block_1box_oem{
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 768px) {
  .about_block_1box{
    margin-bottom: 50px;
  }
  .about_block_1box .about_block_imgbox{
    display: block;
  }
  .about_block_1box .about_block_imgbox p{
    width: 100%;
  }
  .about_block_3box_oem{
    display: block;
  }
  .about_block_3box_oem div{
    width: 100%;
  }
  .about_block_3box_txt{
    height: auto;
  }
  .about_oem_box{
    display: block;
  }
  .about_oem_box li{
    width: 100%;
    margin-bottom: 20px;
  }
}


/*-------------------- だしを知る --------------------*/
.dashi_block{
  margin-bottom: 100px;
}
.dashi_block_topleft .dashi_block_toptxt{
  width: 55%;
  float: left;
}
.dashi_block_topleft .dashi_block_topimg{
  width: 40%;
  float: right;
}
.dashi_block_topleft .dashi_block_toptxt div:first-child{
  float: left;
}
.dashi_block_topleft .dashi_block_toptxt div:last-child{
  width: 75%;
  float: right;
}
.dashi_block_topright .dashi_block_toptxt{
  width: 55%;
  float: right;
}
.dashi_block_topright .dashi_block_topimg{
  width: 40%;
  float: left;
}
.dashi_block_topright .dashi_block_toptxt div:first-child{
  float: right;
}
.dashi_block_topright .dashi_block_toptxt div:last-child{
  width: 75%;
  float: left;
}
.dashi_block_toptxt p{
  margin-bottom: 20px;
}
@media screen and (max-width: 1024px) {
  .dashi_block{
    margin-bottom: 50px;
  }
  .dashi_block_topleft .dashi_block_toptxt,
  .dashi_block_topright .dashi_block_toptxt{
    width: 100%;
    float: none;
  }
  .dashi_block_topleft .dashi_block_topimg,
  .dashi_block_topright .dashi_block_topimg{
    width: 50%;
    margin: 0 auto;
    float: none;
  }
  .dashi_block_topleft .dashi_block_toptxt div:first-child,
  .dashi_block_topright .dashi_block_toptxt div:first-child{
    margin: 0 20px 10px 0;
    float: left;
  }
  .dashi_block_topleft .dashi_block_toptxt div:last-child,
  .dashi_block_topright .dashi_block_toptxt div:last-child{
    width: 100%;
    float: none;
  }
}
@media screen and (max-width: 768px) {
  .dashi_block_topleft .dashi_block_topimg,
  .dashi_block_topright .dashi_block_topimg{
    width: 100%;
  }
}
.recipe_block{
  margin-bottom:100px;
}
.recipe_head_txt{
  width: 50%;
  margin-bottom: 50px;
  float: left;
}
.recipe_head_txt_nomgb{
  width: 50%;
  margin-bottom: 0px;
  float: left;
}
.recipe_head_txt p,
.recipe_txt_mgb p{
  margin-bottom: 20px;
}
.recipe_box{
  width: 50%;
  float: left;
}
.recipe_img{
  width: 45%;
  margin-top: 50px;
  float: right;
}
.recipe_title{
  float: left;
}
.recipe_txt{
  width: 80%;
  float: right;
}
.recipe_txt div{
  margin-bottom: 50px;
}
.recipe_txt ul li{
  margin: 0 0 0 20px;
  list-style-type: disc;
}
.recipe_txt ol li{
  margin: 0 0 0 20px;
  list-style-type: decimal;
}
.recipe_img p{
  width: 50%;
  float: left;
}
.recipe_img_full p{
  width: 100%;
  float: none;
}
.recipe_img p:nth-child(odd){
  margin-top: -50px;
}
.recipe_img p:nth-child(even){
  margin-top: 50px;
}
@media screen and (max-width: 1024px) {
  .recipe_block{
    margin-bottom:50px;
  }
  .recipe_head_txt,
  .recipe_head_txt_nomgb,
  .recipe_box,
  .recipe_img{
    width: 100%;
    margin-bottom: 30px;
    float: none;
  }
  .recipe_txt{
    width: 85%;
  }
}
@media screen and (max-width: 768px) {
  .recipe_title{
    float: none;
    margin-bottom: 20px;
  }
  .recipe_txt{
    width: 100%;
    float: none;
  }
  .recipe_txt div{
    margin-bottom: 20px;
  }
  .recipe_img{
    margin-top: 0;
  }
  .recipe_img p:nth-child(odd){
    margin-top: 0;
  }
  .recipe_img p:nth-child(even){
    margin-top: 20px;
  }
}


/*-------------------- 商品 --------------------*/
.product_list_top{
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
  margin-bottom: 50px;
}
.product_list_top li{
  width: 45%;
  margin-bottom: 50px;
}
.product_list_top_img{
  width: 50%;
  margin-top: -100px;
  float: right;
}
.product_list_top_img img{
  width: 270px;
}
.product_list_top_img img:nth-child(1){
  margin-left: 30px;
}
.product_list_top_txt{
  margin: 50px 0;
}
.product_list_top_img img.product_list_top_img2{
  width: 300px;
  margin-left: 0;
}
.product_detail_title{
  margin-bottom: 50px;
}
.product_detail_title div{
  margin: 0 20px 0px 0;
  float: left;
}
.product_detail_title p{
  height: 120px;
  display: table-cell;
  vertical-align: middle;
}
.product_list_detail{
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
  margin-bottom: 50px;
}
.product_list_detail::after {
display: block;
content:"";
  width: 30%;
}
.product_list_detail li{
  width: 30%;
  margin-bottom: 50px;
}
.product_list_detail li h3{
  margin: 30px 0;
}

@media screen and (max-width: 1024px) {
  .product_list_top{
    display: block;
    margin: 30px 0;
  }
  .product_list_top li{
    width: 100%;
  }
  .product_list_top_img{
    width: 100%;
    margin-top: -80px;
    float: none;
  }
  .product_list_top_img img{
    width: 60%;
  }
  .product_list_top_img img:nth-child(1){
    float: right;
  }
  .product_list_top_txt{
    margin: 20px 0 30px;
  }
  .product_detail_title p{
    height: auto;
    display: inline;
  }
  .product_list_detail li{
    width: 45%;
  }
}
@media screen and (max-width: 768px) {
  .product_list_detail li{
    width: 100%;
    margin-bottom: 30px;
  }
  .product_list_detail li h3{
    margin: 20px 0;
  }
}


/*-------------------- 会社情報 --------------------*/
.company_greeting_block,
.company_purpose_block{
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
}
.company_greeting_block,
.company_purpose_block,
.profile_block,
.company_purpose_box{
  margin-bottom: 100px;
}
.company_greeting_block .company_txt_box{
  width: 60%;
}
.company_greeting_block .company_img_box{
  width: 35%;
}
.company_purpose_block .company_txt_box{
  width: 45%;
}
.company_purpose_block .company_img_box{
  width: 55%;
}
.company_txt_box p,
.company_purpose_block .company_txt_box h3{
  margin-bottom: 20px;
}
.company_img_box p{
  margin-bottom: 20px;
  text-align: center;
}
.company_purpose_box dl{
  width: 100%;
}
.company_purpose_box dt,
.company_purpose_box dd{
  height: 200px;
  margin-bottom: 50px;
  float: left;
  border: 1px solid #777;
}
.company_purpose_box dt{
  width: 30%;
  background: rgba(189,63,86,0.1);
  border-radius: 20px 0px 0px 20px;
}
.company_purpose_box dd{
  width: 70%;
  border-radius: 0px 20px 20px 0;
  border-left: none;
}
.company_purpose_box dt p,
.company_purpose_box dd p{
  height: 200px;
  padding: 20px 40px;
  display: table-cell;
  vertical-align: middle;
}
.company_purpose_box dt p{
  width: 400px;
  margin: 0 auto;
  color: #BD3F56;
  text-align: center;
}
.company_purpose_box dd p{
  line-height: 2em;
}
.profile_block dl{
  width: 100%;
  border-bottom : 1px dashed #777;
}
.profile_block dt{
  padding: 20px;
  float: left;
}
.profile_block dd{
  padding: 20px 20px 20px 300px;
  border-top : 1px dashed #777;
}
/* .profile_block dd:last-child{
  border-bottom : 1px dashed #777;
} */
.profile_block dd .company_img p{
  width: 50%;
  float: left;
}
.profile_block dd .company_map{
  margin-bottom: 20px;
}
.googlemap iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

@media screen and (max-width: 1024px) {
  .company_greeting_block,
  .company_purpose_block,
  .profile_block,
  .company_purpose_box{
    margin-bottom: 50px;
  }
  .company_purpose_box dt,
  .company_purpose_box dd{
    height: auto;
    margin-bottom: 0px;
    float: none;
  }
  .company_purpose_box dt{
    width: 100%;
    border-radius: 20px 20px 0 0;
  }
  .company_purpose_box dd{
    width: 100%;
    margin-bottom: 30px;
    border-radius: 0 0 20px 20px;
    border-left: 1px solid #777;
    border-top: none;
  }
  .company_purpose_box dt p,
  .company_purpose_box dd p{
    width: 100%;
    height: auto;
    padding: 10px 20px;
    text-align: center;
    display: block;
  }
  .profile_block dt{
    padding: 20px 0 0 0;
    float: none;
    font-weight: bold;
    border-top : 1px dashed #777;
  }
  .profile_block dd{
    padding: 0 0 20px 0;
    border-top : none;
  }
  .profile_block dd .company_img p{
    width: 100%;
    float: none;
  }
  .profile_block dd .company_img p:last-child{
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .company_greeting_block .company_txt_box,
  .company_greeting_block .company_img_box,
  .company_purpose_block .company_txt_box,
  .company_purpose_block .company_img_box{
    width: 100%;
  }
}
.company_history{
  margin: -50px 0 0px 0;

}
.company_history_block{
  padding: 100px 0;
  text-align: center;
}
.company_history_block h2{
  margin-bottom: 50px;
}
.company_history_list{
  margin-top: 100px;
  padding-bottom: 100px;
  background: url(../company/img/history_center_line.png) repeat-y top center;
}
.company_history_list li{
  /* width: 650px; */
  width: 50.8%;
  text-align: left;
}
.company_history_list li:nth-child(odd){
  margin-top: -50px;
  float: right;
  background: url(../company/img/history_right_line.png) no-repeat center left;
}
.company_history_list li:nth-child(even){
  margin-top: -50px;
  float: left;
  background: url(../company/img/history_left_line.png) no-repeat center right;
}
.company_history_list li:nth-child(odd) .company_history_box{
  float: right;
}
.company_history_list li.company_history_start{
  /* width: 570px; */
  width: 50.8%;
  margin: 0 auto;
  float: none;
}
.company_history_list li.company_history_start .company_history_box{
  margin-bottom: 100px;
}
.company_history_box{
  /* width: 570px; */
  width: 88%;
  padding: 3%;
  background: #fff;
  border: 1px solid #777;
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
}
.company_history_box div:first-child {
  /* width: 130px;
  height: 130px; */
  width: 23%;
  height: auto;
  min-height: 130px;
}
.company_history_box div:last-child {
  /* width: 380px; */
  width: 74%;
}
.company_history_box h3{
  margin: 1% 0 2% 0;
  font-size: 185%;
  font-weight: bold;
}
.company_history_box h3 span{
  font-size: 165%;
}
@media screen and (max-width: 1290px) {
  .company_history{
    margin: -30px 0 -50px 0;
  }
}
@media screen and (max-width: 1024px) {
  .company_history_block{
    padding: 50px 0 80px;
  }
  .company_history_block h2{
    margin-bottom: 30px;
  }
  .company_history_list{
    margin-top: 50px;
    padding-bottom: 50px;
  }
  .company_history_list li:nth-child(odd),
  .company_history_list li:nth-child(even){
    width: 100%;
    margin-top: 30px;
    float: none;
    background: none;
  }
  .company_history_list li:nth-child(odd) .company_history_box{
    float: none;
  }
  .company_history_list li.company_history_start{
    width: 100%;
  }
  .company_history_list li.company_history_start .company_history_box{
    margin-bottom: 30px;
  }
  .company_history_box{
    width: 100%;
  }
  .company_history_box div:first-child {
    width: 20%;
    height: auto;
    min-height: auto;
  }
  .company_history_box div:last-child {
    /* width: 380px; */
    width: 75%;
  }
  .company_history_box h3{
    font-size: 120%;
  }
  .company_history_box h3 span{
    font-size: 160%;
  }
}


/*-------------------- 採用情報 --------------------*/
.recrui_block{
  margin-bottom: 100px;
}
.recrui_block .profile_block{
  margin-bottom: 50px;
}
.recrui_top_txt{
  margin-bottom: 50px;
}
.recrui_contact_block p{
  margin-bottom: 20px;
}
.recrui_contact_block dt,
.recrui_contact_block dd{
  float: left;
  border: 1px solid #777;
}
.recrui_contact_block dt{
  width: 30%;
  background: rgba(189,63,86,0.1);
  border-radius: 20px 0px 0px 20px;
  font-size:185%;
}
.recrui_contact_block dd{
  width: 70%;
  border-radius: 0px 20px 20px 0;
  border-left: none;
  font-size:200%;
}
.recrui_contact_block dt p,
.recrui_contact_block dd p{
  height: 100px;
  padding: 20px 40px;
  display: table-cell;
  vertical-align: middle;
}
.recrui_contact_block dt p{
  width: 400px;
  margin: 0 auto;
  color: #BD3F56;
  text-align: center;
}
.recrui_contact_block a{
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  .recrui_block{
    margin-bottom: 50px;
  }
  .recrui_block .profile_block{
    margin-bottom: 30px;
  }
  .recrui_top_txt{
    margin-bottom: 30px;
  }
  .recrui_contact_block dt,
  .recrui_contact_block dd{
    height: auto;
    float: none;
  }
  .recrui_contact_block dt{
    width: 100%;
    padding: 10px 0px;
    border-radius: 20px 20px 0 0;
    font-size:130%;
  }
  .recrui_contact_block dd{
    width: 100%;
    padding: 10px 0;
    border-radius: 0 0 20px 20px;
    border-left: 1px solid #777;
    border-top: none;
    font-size:150%;
  }
  .recrui_contact_block dt p,
  .recrui_contact_block dd p{
    width: 100%;
    height: auto;
    padding: 0;
    text-align: center;
    display: block;
  }
  .recrui_contact_block dd p{
    width: 100%;
    height: auto;
    margin: 0;
    padding: 10px 0;
    text-align: center;
    display: block;
  }
}


/*-------------------- 個人のお客様 --------------------*/
.shopping_block{
  margin-bottom: 100px;
}
.shopping_block div{
  width: 70%;
  margin: 100px auto 0;
  text-align: center;
}
.shopping_block div p{
  margin-bottom: 50px;
}
@media screen and (max-width: 1024px) {
  .shopping_block{
    margin-bottom: 50px;
  }
  .shopping_block div{
    margin: 50px auto 0;
  }
  .shopping_block div p{
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .shopping_block div{
    width: 100%;
  }
}

/*-------------------- 法人・事業者のお客様 --------------------*/
.contact_block{
  margin-bottom: 100px;
}
.contact_block .profile_block{
  margin: 50px 0;
}
.contact_block_btn a{
  margin: 50px auto;
}
.contact_download{
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;/*折り返し複数行*/
  justify-content: space-between;
}
.contact_download li{
  width: 50%;
}
.contact_download li p{
  width: 50%;
  height: auto;
  padding: 10px;
  display: table-cell;
  vertical-align: middle;
}
.contact_download li p:last-child{
  padding: 10px;
  font-size: 130%;
}
.contact_download li a{
  font-size: 75%;
}



.required_mark{
  margin:0 0 0 10px;
  padding: 2px 5px 2px;
  font-size:12px;
  line-height: 1em;
  color:#fff;
  background:#c00;
  display:inline-block;
}
input[type="text"], input[type="email"] {
  width:100%;
  height:35px;
  padding: 1%;
  font-size: 14px;
  border: solid 1px #aaa;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  box-sizing: border-box;
}
input[type="radio"], input[type="checkbox"] { margin-right:5px;}
select{
  height:35px;
  line-height:35px;
  font-size: 14px;
  border: solid 1px #aaa;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  box-sizing: border-box;
}
.input_error { background:#ffe8e8 ;}
textarea {
  width:100%;
  height:200px;
  padding: 1%;
  font-size: 14px;
  border: solid 1px #aaa;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  box-sizing: border-box;
  resize: none;
}
.contact_block_tel{
  margin-top: 100px;
}
.contact_block_tel dt,
.contact_block_tel dd{
  float: left;
  border: 1px solid #777;
}
.contact_block_tel dt{
  width: 50%;
  background: rgba(189,63,86,0.1);
  border-radius: 20px 0px 0px 20px;
  font-size:185%;
}
.contact_block_tel dd{
  width: 50%;
  border-radius: 0px 20px 20px 0;
  border-left: none;
  font-size:200%;
}
.contact_block_tel dt p,
.contact_block_tel dd p{
  height: 100px;
  padding: 20px 40px;
  display: table-cell;
  vertical-align: middle;
}
.contact_block_tel dt p{
  margin: 0 auto;
  color: #BD3F56;
  text-align: center;
}
.contact_block_tel a{
  text-decoration: none;
}
.error_messe{
  color: #BD3F56;
}

.contact_error{
  margin-top: 20px;
  padding: 20px;
  border-top : 1px dashed #777;
  border-bottom : 1px dashed #777;
}

@media screen and (max-width: 1024px) {
  .contact_block{
    margin-bottom: 50px;
  }
  .contact_block_tel{
    margin-top: 50px;
  }
  .contact_block_tel dt,
  .contact_block_tel dd{
    height: auto;
    float: none;
  }
  .contact_block_tel dt{
    width: 100%;
    padding: 10px 0px;
    border-radius: 20px 20px 0 0;
    font-size:130%;
  }
  .contact_block_tel dd{
    width: 100%;
    padding: 10px 0;
    border-radius: 0 0 20px 20px;
    border-left: 1px solid #777;
    border-top: none;
    font-size:150%;
  }
  .contact_block_tel dt p,
  .contact_block_tel dd p{
    width: 100%;
    height: auto;
    padding: 0;
    text-align: center;
    display: block;
  }
  .contact_block_tel dd p{
    width: 100%;
    height: auto;
    margin: 0;
    padding: 10px 0;
    text-align: center;
    display: block;
  }
}


@media screen and (max-width: 768px) {
  .contact_download{
    margin-top: 30px;
    display: block;
  }
  .contact_download li{
    width: 100%;
  }
  .contact_download li p{
    width: 100%;
    display: block;
    text-align: center;
  }
  .contact_download li p:first-child{
    width: 80%;
    margin: 0 auto;
  }
  
}


@media screen and (max-width: 1024px) {
  .pc-mb {
    display: none !important
  }
}
@media screen and (max-width: 767.98px) {
  .pc {
    display: none !important
  }
  .pc-br{
    display: none; /* SPの改行を隠す */
  }
}
@media screen and (min-width: 1025px) {
  .mb {
    display: none !important
  }
}
@media screen and (min-width: 768px) {
  .sp {
    display: none !important
  }
  .sp-br{
  display: none; /* SPの改行を隠す */
  }
}


@media print {
	body {
    width: 1280px !important;
    zoom: .8;
  }
}