
@charset "utf-8";


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

  /*display_flex_sがSPでも横並びキープ*/
  .display_flex,.sp-only_01{
    display: block;
  }

  .header_nav li a span{
    display: none;
  }

  .sp-only_02{
    display: block;
  }

  .field {
    width: 100%;
  }

  .field._01,.inner._01{
    width: 100%;
  }

  
  .field._01{
    padding: 2rem;
  }

  
  .left-00{
    right: 2rem;
  }

  .pic img{
    width: 100%;
    height: auto;
  }

  /*————————————————————————————————
  ナビゲーション設定
  —————————————————————————————————*/
  
  /*navタブにopen classがついた時の動作*/
  .header_inner.open{
    overflow-y: auto;
    height: 100%;
  }

  .navArea.display_flex{
    align-items: initial;
  }

 .header_inner.open .global_menu{
    display: inline-block;
    width: 100%;
  }

  .header_inner.open .global_menu{
    display: inline-block;
    width: 100%;
  }

  /*ここまで*/
  .global_menu{
    top: 22rem;
    right: 0;
  }
/*
  .header_nav{
    display: block;
    width: 100%;
  }
*/
.header_nav li{
  width: 100%;
  height: 6.6rem;
  line-height: 6.6rem;
  border: none;
  border-bottom: solid 1px;
  transform: unset;
}

.header_nav li:first-child{
  border-top: solid 1px;
}

.header_nav li:hover{
  transform: unset;
  background: none;
}
.header_nav li a{
  color: #1A1311;
  font-size: 2rem;
  display: block;
  transform: translateX(0);
  transition: 0.3s;
}

.header_nav li a:hover{
  opacity: .3;
  background: #FFF;
}
/*
  .header_nav li a:after{
  background: none;
  }
*/
  .mask {
    display: none;
    position: fixed;
    transition: all 0.3s ease-in-out;
    z-index: 999;
  }
  .open .mask {
    margin: 0 auto;
    display: block;
    top: 0;
    width: 100%;
    height: 100vh;
    background-image: url("../img/common/bg.jpg");
    z-index: -1;
    transition: all 0.3s ease-in-out;
  }
    /*
  .header_inner.open .navArea{
    background: none;
    justify-content: center;
  }
    .under .header_nav li {
    border: none;
    background: none;
  }
  .under .header_nav li a {
    color: #3E3E3E;
  }*/
/*—————————————————————————
ハンバーガー トグル形状とアクション
————————————————————————————*/
  .toggle_btn {
    width: 64px;
    height: 64px;/*高さ必ず指定してタップ領域確保*/
    display: block;
    position: fixed;
    top: 6.5rem;
    right: 1rem;
    transition: .3s;
    z-index: 9999;
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    /*background: rgba(255,255,255,0.6);
    border-radius: 50%;*/
  }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 36px;
    height: 2px;
    background-color: #fff;
    transition: .4s;
    cursor: pointer;
    z-index: 9999;
  }

  .toggle_btn span:nth-child(1) {
    top: 30px;
    left: 14px;
  }
  .toggle_btn span:nth-child(2) {
    top: 42px;
    left: 14px;
  }
  .toggle_btn span:nth-child(3) {
    top: 18px;
    left: 14px;
  }
  .toggle_btn.open span {
    background-color: #3E3E3E;
  }
  .toggle_btn.open span:nth-child(3) {
    -webkit-transform: translateY(12px) rotate(30deg);
    transform: translateY(12px) rotate(30deg);
  }
  .toggle_btn.open span:nth-child(1) {
    opacity: 0;
  }
  .toggle_btn.open span:nth-child(2) {
    -webkit-transform: translateY(-12px) rotate(-30deg);
    transform: translateY(-12px) rotate(-30deg);
  }

/*ファーストビューの高さを越えた時の色（トップページ）*/
  .toggle_btn.invert span {
	  background: #1A1311; /* スクロール後の色 */
  }

  .toggle_btn.fadeDown span{
    background-color: #3E3E3E;
  }

  /*----------------------------
  ナビゲーション上下のボーダー設定
  ナビゲーション文字 天地左右スペース設定
  -----------------------------*//*

  .header_nav li{
    height: auto;
    border: none;
    transform: translateX(0);
    width: 100%;
  }

  .header_nav li a{
    font-size: 2.5rem;
    display: block;
    text-align: left;
    color: #3E3E3E;
    margin-left: 0;
  }

  .header_nav li:hover{
    transform: translateX(0);
    background: none;
  }

  .header_nav li .link_li::after{
    margin-left: 2.4rem;
  }

  
  li.menu{
    padding: 4% 0;
  }

  li.menu a{
    padding: 0 10%;
  }

  li.menu a.close{
    padding-bottom: 4%;
  }

  li.menu.aco_moji a{
    padding: 0 4%;
  }

  li.menu ul.child_menu{
    width: 100%;
    padding: 0;
    position: initial;
    background: none;
    opacity: 1;
  }

  li.menu ul.child_menu:nth-of-type(1){
    border-top: 1px solid #B7B7B7;
  }

  li.menu ul.child_menu > li{
    display: table;
    cursor: pointer;
    border-bottom: 1px solid #B7B7B7;
    width: 100%;
    padding: 3% 4%;
  }

  li.menu ul.child_menu > li:last-child{
    border-bottom: 0;
    padding-bottom: 0;
  }

*/
  
  /*——————————————————————
  SPメニュー用ボタン
  ——————————————————————*/

  .header_inner.open .abc_icon.sp-only{
    display: block;
    width: 100%;
  }

  .abc_icon{
    position: initial;
  }

  .abc_icon_in{
    width: 312px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    border-radius: 0;
    margin-top: 3rem;
    filter: drop-shadow(4px 4px 8px rgba(62,62,62,0.25));
    transition: .4s;
  }

  .abc_icon_in._aa{
    display: block;
    border: solid #3D3D3D 1px;
    background: #FFFFFF;
  }

  .abc_icon_in._bb{
    position: relative;
    z-index: 0;
    display: block;
    background: transparent;
    cursor: pointer;
    border: 1px solid #fff;
    z-index: 0;
  }

  .abc_icon_in._bb a{
    color: #FFFFFF;
  }

  .abc_icon_in._bb::before,
  .abc_icon_in._bb::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
  }

  .abc_icon_in._bb::before{
    transition: all 0.6s;
    background: linear-gradient(45deg, #80D0C7, #0093E9);
    z-index: -1;
  }

  .abc_icon_in._bb::after{
    background: linear-gradient(45deg, #0093E9, #80D0C7);
    z-index: -2;
  }

  .abc_icon_in._bb:hover::before{
    opacity: 0;
  }


  .abc_icon.sp-only a{
    writing-mode: horizontal-tb;
  }


  .abc_icon_in._aa:hover{
    opacity: .4;
  }



  /*ハンバーガーメニューopen時に後ろの要素をスクロールさせない*/
  .noscroll{
    overflow: hidden;
  }

  /*———————————————————————————
詳細ボタン---BeProHPで使用した物
———————————————————————————*/

.btn_base{
  margin: 0 auto;
  text-align: center;
  width: 10.5rem;
  height: 2.8rem;
  border: 1px solid #5F4E31;
  filter: none;

}


.btn_base a{
  font-size:1rem;
}

.btn_base:hover{
  background: #fff;
}

.btn_base:hover.btn_base a{
  color: #5F4E31;
}

  /*————————————————————————————————
  TAB設定
  —————————————————————————————————*/
  .inner._03,.inner._04{
    padding: 8% 4%;;
  }

  .tab_area,.pict_box img,.openModal img,.modalContents img{
    width: 100%;
  }

  .tables_item td{
    font-size: 2vw;
  }

  .display_flex-s li{
    flex-wrap: wrap;
  }

  .display_flex._calc{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .calc._02,.calc._03{
    width: calc((100% - 2rem) / 2);
  }

  .blog_calc{
    width: calc((100% - 2rem) / 2);
  }
  
  
  .modal_Wrapper{
    top: 18%;;
  }
  
  .blog_width{
    width: 100%;
  }

  .leads{
    width: 12rem;
    margin-top: 1rem;
  }
  .banner._01{
    top: -3.1rem;
  }

  .s_box{
    width: 20rem;
    height: 3.2rem;
    font-size: 1.4rem;
  }

  .s_btn{
    font-size: 18px;
    height: 3.2rem;
  }

  /*tab SPスクロール*/
  .tab_container {
    overflow-x: auto;
    overflow-y: hidden;
    -ms-overflow-style: none;
    /* Firefox 対応 */
    scrollbar-width: none;
  }
  .tab_area{
    width: 100%;
    height: auto;
  }
  .tab_area li{
    white-space: nowrap;
    padding: 0 3.6rem;
  }
  /*スクロールバー非表示（Chrome・Safari）*/
.container::-webkit-scrollbar {  
    display: none; /*Google Chrome、Safari、Microsoft Edge対応のスクロールバー非表示コード*/
  }

  /*--------------------------
  各コンテンツの調整
  ---------------------------*/
  /*みその力-------------------*/
  .power_box{
    position: static;
    padding: 0;
  }
  .power_box._b{
    padding: 0 ;
  }
  .power .pic{
    width: 16.5rem;
  }
  .entry.power._b{
    border-left: none;
    border-right: none;
  }
  .power .inner {
    padding: 0 2rem;
    justify-content: center;
  } 
  .power h3{
    font-size: 1.6rem;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: bold;
    line-height: 2.2rem;
  }
  .content_box{
    margin-right: 1rem;
    width: auto;
  }
  .content_box p {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 1.2rem;
    line-height: 2.2rem;
  }
  .pic._00 img{
    margin-left: 1rem;
  }
  ._b .pic._00 img{
    margin-left: 0;
    margin-right: 1rem;
  }
  .power .space._048{
    height: 1.8rem;
  }
  .power .space._16{
    height: 8rem;
  }

  .display_flex._01 {
    justify-content: center;
  }
  .power_box .pic img{
    transform:scale(1);
    position: static;
  }


  /*商品紹介-------------------*/
  .section .introduce{
    background: #F5E5CB;
    padding: 5rem 2rem;
  }
  .introduce .space._236{
    height: 16rem;
  } 
  .swiper-slide._01 {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .introduce .swiper {
    overflow:initial;
    width: 100%;
}
  .introduce .swiper-slide{
    border: 1px solid #5D4E31;
    width: calc((100% - 4rem) / 3);
}
.introduce .swiper-slide img{
  width: 100%;
  object-fit: contain;
  height: auto;
}

.introduce .pickup_page ._01{
  visibility: visible;
}
.items {
  padding: 1rem;
}

/*News-------------------*/
.info_texts{
  width: 100%;
  margin: 1rem 0 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.info_etc {
  width: 80px;
  height: 23px;
  padding: 4px;
  margin-left: 16px;
}
.info-item-inner::before,.info.arrow01 {
  display: none;
}
.info-item span img {
  width: 8rem;
  height: auto;
}

/*商品一覧--SP用--------------------------*/
.pickup_page._01 {
 height: auto;
}
.item_container ul{
  justify-content: space-between;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.swiper-slide._01 {
  width: calc((100% - 4rem) / 3);
  display: flex;
  padding: 1rem ;
  height: auto;
  text-align: center;
  margin-bottom: 3rem;
  flex-direction: column;
}
.item_container ul::after{
  content: '';
  width: calc((100% - 4rem) / 3);
}
.name, .text_btn {
  font-size: 1.5rem;
  line-height: 2rem;
}
.swiper-slide img{
  text-align: center;
}
.text_box {
  height: auto;
}
.text_btn{
  margin-top: auto;
}

.items img{
  width: 18rem;
  height: auto;
  margin-top: 1rem;
}

/*美味しいレシピ-------------------*/
.entry._03 {
  margin-top: 0;
}

.recipe_container img{
  margin: 5rem 0;
  /*width: 100%;
  height: auto;*/
}

.entry._03 .pickup_page._01 {
  height: auto;
  width: auto;
  margin-bottom: 15rem;
  text-align: center;
}
.swiper-slide{/*safariでもheight:autoを聞かせるため*/
  display: block;
}

/*下層---------------------------------

素材へのこだわり

-------------------------------------*/

/*tab1  赤味噌の代表仙台味噌-------------*/
.text_box{
  width: 100%;
}
.text_box p,.image_box{
  display: flex;
  justify-content: center;
  align-items: center;
}
.image_box{
  padding-top: 9.5rem;
}
.b_box{
  display: flex;
  flex-direction: column;
}
.image_box img {
  margin-left: 0;
}
.b_box .image_box img {
  margin-right: 0;
}
.text_box p{
  order: 1;
}
.image_box{
  order: 2;
}
/*tab2  わさび沢工場-------------*/
.trivia {
  padding: 0;
}
.trivia .question {
  font-size: 1.6rem;
}
/*tab2  みそ製造工程-------------*/
.flow_img{
  text-align: center;
}
.item_box .image_box{
  padding-top: 0;
}

  /*--------------------------
  DisplayFlexベーシックエリア
  ---------------------------*/
  .display_flex-s.calc._01 li{
    width: calc((100% - 4rem) / 2);
  }

  /*——————————————————————
  カウントアップ 
  ——————————————————————*/

  .pickup_page._02 .swiper-button-wrap_02{
    width: 100%;
  }

  .pickup_page{
    height: 44rem;
  }

  .entry._04._a{
    padding: 0;
  }

  .count{
    top: 36%;
    font-size: 3.6rem;
    display: flex;
    justify-content: center;
    height: 20rem;
  }

  .swiper-pagination-bullets.swiper-pagination-horizontal{
    bottom: 4px;
  }

  .count-up{
    margin-bottom: -1.8rem;
  }

  .count._1,.count._2,.count._3,.count._4,.count._5,.count._6,.count._7,.count._8{
    left: 0;
  }

  
  .items p{
    font-size: 2.4rem;
  }

  .count-up{
    font-size: 16rem;
  }

  .newline{
    line-height: 4.8rem;
  }

  .works_wrap ul li {
    display: block;
  }

  .works_wrap .works_category{
    margin-top: 0.5rem;
  }

  .works_wrap .field._02 .entry._01 ul{
    display: block;
  }

  .inner._11{
    width: 100%;
  }



/*——————————————————————
footer_SP
——————————————————————*/

.display_flex._foot{
  width: 100%;
}

footer .line {
  margin-bottom: 0;
}

footer{
  width: 100%;
}

.f_field{
  width: 100%;
  text-align: center;
}
.f_tel{
  width: 100%;
}

.f_tel p {
  font-size: 2rem;
  letter-spacing: 0.05rem;
  margin-left: 2rem;
}

.tel{
  width: 68.27%;
  height: 7.2rem;
  margin: auto;
  margin-top: 1rem;
  padding: 0;
  font-weight: 500;
  justify-content: center;
  text-align: center;
  padding: 1rem;
}
.tel a{
  font-size: 2.7rem;
  line-height: 3.5rem;
  margin-top: 0;
  margin-top: -1%;
  margin-left: -1%;
}
.fa-phone{
  width: 15%;
  display: inline-block;
  font-size: 2.6rem;
  transform: rotate(10deg);
}

.f_nav  {
  width: 100%;
  display: block;
  position: static;
  text-align: center;
}
.f_nav_inner li a span{
  position: static;
}
.f_nav :nth-of-type(4) {
  padding-right: 0;
}
.f_info {
  margin-right: 0;
}
.corporation{
  font-size: 2.8rem;
}

.address,.number_all,.fax{
  font-size: 1.6rem;
  font-style: normal;
  letter-spacing: 0.1em;
}

.fax {
  margin-left: 0;
}

.f_info_wrap{
  padding: 2.5rem  2.8rem 3.1rem;
}

.privacypolicy li,.copyright{
font-size: 1rem;
}
.privacypolicy{
  margin-top: 0;
  justify-content: center;
}

.privacypolicy li {
  display: block;
  margin-top: 0;
  margin-right: 0;
}
.privacypolicy li a {
  position: static;  
}
.privacypolicy li:not(:last-of-type){
  border: none;
  padding-right:0;
}

.copyright{
  position: initial;
  text-align: center;
  margin-top: 3%;
}


.sp_arrow{
  width: 56px;
  height: 56px;
  border-radius: 9999px;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  bottom: 20px;
  right:16px;
  background: #fff;
  border: 1px solid #3E3E3E;
  opacity: .8;
  z-index: 999;
  filter: drop-shadow(4px 4px 8px rgba(62,62,62,0.25));
}
.sp_arrow a{
  margin-top: -7px;
}
.sp_arrow img{
  width: 20px;
}

.f_nav_box._01{
  padding-top: 4.2rem;
}

  /*--------------------------
  display:none
  ---------------------------*/

  .abc_icon.pc-only,.mail_form,
  .pick_up_article,.tower,.scroll_down,.swiper-button-wrap_01,
  .swiper-pagination,.swiper,.global_menu,
  .power_box._a:hover::after,.power_box._a:hover::before,
  .power_box._b:hover::after,.power_box._b:hover::before{
    display: none;
  }

  .pc-only{
    display: none !important;
  }

  .sp_arrow{
    display: flex !important;
  }
  
  /*hoverアクション*/
  .info-item:hover{
    background: none;
  }
  }


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

    .h1_title._02 h1{
      font-size: 4.6vw;
      line-height: 5rem;
      letter-spacing: 1.3rem;
    }

  /*news調整--------------------*/
  .info-item{
    padding: 1.5rem 0;
    display: flex;
    justify-content: space-between;
  }
  .info-item .item_inner{
    margin-left: 1rem;
  }
  .info_etc{
   margin-left: 0;
 }
  .item_inner span,.item_inner p,.item_inner time{
    font-size: 1rem;
  }

.info_texts {
  line-height: 1.6rem;
}
}
  /*スマホ用調整---------------------
  以下767以下で追加記述必要なエリア
  -------------------------------*/

 /*news調整--------------------*/

  @media screen and (max-width:635px){
    .sp-only_02{
      display: block;
    }

    .space._06._2rem{
      height: 4rem;
    }

    .introduce .swiper-slide img {
      width: 100%;
    }
    .name, .text_btn {
      font-size: 1.5rem;
      line-height: 2rem;
  }
}
 /*商品一覧 業務/ギフト--------------------*/
@media screen and (max-width:579px){
  .swiper-slide._01 {
    width: calc((100% - 4rem) / 2);
  }
  .items {
    padding: 1rem;
  }
  .items img{
    width: 100%;
    margin: 1rem 0;
  }
  .items h4 {
    font-size: 1.6rem;
  }
  .name, .text_btn {
    font-size: 0.8rem;
    line-height: 1.2rem;
  }
  .paddi {
    padding: 0 1.5rem;
}
}

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

    h2{
      font-size: 4rem;
    }

    h2 span{
      font-size: 4rem;
    }

    .tab_area li a{
      font-size: 1rem;
    }
    .ceiter-h3{
      margin-top: 2rem;
      font-size: 1.8rem;
    }

    
    .sorter li a{
     font-size: 1.4rem;
    }

    
    .banner._01{
      display: none;
    }

    /*みその力中間幅文字の大きさ調整*/
    .power h3{
      font-size: 1.2rem;
      line-height: 2.2rem;
    }
    .content_box p {
      font-size: 0.7rem;
      line-height: 2.2rem;
      letter-spacing: -0.15rem;
    }


/*下層tab　選択エリアの文字調整--------------------*/

    .tab_area li a .large {
      font-size: 1.5rem;
    }
    
    
  }


 /*下層tab3　フローhover--------------------*/

  @media screen and (max-width:659px){
    .flow_hover {
      justify-content: center;
  }
  .flow_hover .item_box {
    margin-bottom: 6rem;
  }
  }


  @media screen and (max-width:494px){
    .h1_title._02 h1{
      font-size: 4.5vw;
      line-height: 3.5rem;
      letter-spacing: 1rem;
      margin-top: 5.5rem;
    }
    /*ヘッダーの文字の大きさ調整*/
      .kodawari h2{
        font-size: 2.6rem;
        line-height: 5rem;
      }
      .kodawari h2 span{
        font-size: 2.6rem;
      }
  }

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

    .sorter li a,.leads{
      font-size: 1rem;
    }

    .ceiter-h3{
      font-size: 1.6rem;
    }

    .calc._02,.calc._03,.blog_calc,.display_flex-s.calc._01 li{
      width: calc(100% / 1);
    }

  }

  