@charset "utf-8";

/* s_visual */
#sub_top_Wrap{}

.s_visual { position:relative;width:100%; height:600px; box-sizing:border-box;overflow:hidden; background:no-repeat center center; background-size:cover; }
.s_visual .s_visual_in { position:relative; display:table; width:90%; height:100%;  z-index:2; max-width: 1480px; margin: 0 auto; padding-top: 5%;  }
.s_visual .sv_tit { display:table-cell; box-sizing:border-box; color:#fff; vertical-align:middle; text-align: center;  }
.s_visual .sv_tit h2 { font-size: 5rem; font-weight: 300; margin-bottom: 0.5em;  }
.s_visual .sv_tit p { font-size: 2rem; line-height: 1.4em; font-weight: 200; }

@media all and (max-width:1024px){
  .s_visual { height: 55vw; }
  .s_visual .s_visual_in { padding-top: 15%; }
}


@media all and (max-width:767px){
  .s_visual .sv_tit h2 { font-size: 4.5rem; }
  .s_visual .sv_tit p { font-size: 1.8rem; }
}

@media all and (max-width:640px){
  .s_visual { height: 70vw; }
}

@media all and (max-width:568px){
  .s_visual { height: 80vw; }
}

@media all and (max-width:480px){
  .s_visual { height: 90vw; }
  .s_visual .s_visual_in { padding-top: 120px; }
  .s_visual .sv_tit h2 { font-size: 4rem; }
}

@media all and (max-width:380px){
  .s_visual { height: 100vw; }
}




#subContent { position: relative; width: 100%; }
#subContent::before { content: ''; width: 100%; height: 180px; display: block; background: rgba(46,129,0,0.6);
                                  position: fixed; top:0; left:0; z-index:1;  }
#subContent.scroll::before { display: none; }
#subContent.off::before { display: none; }
#subContent.off .sub_menu_wrap { display: none; }

#subContent.navBG3::before { background: rgba(199, 131, 0, 0.6); }
#subContent.navBG3 .sv_tit::before { content:''; width: 250px; height: 58px; display: inline-block; margin-bottom: 1em;
                          background: url("/images/sub/catering_label1.png") no-repeat center; background-size: 100% auto; }
#subContent.navBG3 .sv_tit::after { content:''; width: 250px; height: 29px; display: inline-block; margin-top: 1.5em;
                          background: url("/images/sub/catering_label2.png") no-repeat center; background-size: 100% auto; }

@media all and (max-width:568px){
  #subContent.navBG3 .sv_tit::before, #subContent.navBG3 .sv_tit::after { width: 200px; }
}




/* Sub-Menu */
#subContent.scroll .sub_menu_wrap { position: absolute; }
.sub_menu_wrap { position:fixed; width: 100%; top:130px; font-size: 0; z-index:11;  }
.sub_menu_wrap .m_dep_tit,
.sub_menu_wrap .m_1dep_box,
.sub_menu_wrap br{display:none;}

.sub_menu_wrap .m_2dep_box {text-align:center; width: 100%; }
.sub_menu_wrap .m_2dep_box .smenu{display:block}
.sub_menu_wrap .m_2dep_box li { position:relative; position: relative; display: inline-block; vertical-align: middle; margin: 0 2em;
                                                  padding: 0 0.5em; font-size: 1.8rem; line-height: 50px; }
.sub_menu_wrap .m_2dep_box li a { color:#fff; display: block;  }

.sub_menu_wrap .m_2dep_box li::before { display:block; content:''; width:100%; height:3px; position:absolute; left:0; bottom:0px;
                                               background:#fff; transition:all .3s; transform:scaleX(0); }
.sub_menu_wrap .m_2dep_box li.s_on::before { transform:scaleX(1); }



@media all and (max-width:1024px){
  #subContent::before { height: 170px; }
  .sub_menu_wrap  { top: 120px; }
}

@media all and (max-width:767px){
  #subContent::before { height: 120px; }

  .sub_menu_wrap{ top:70px; width:100%; height:50px;  line-height:50px; padding:0; border-bottom: 1px solid rgba(255,255,255,0.2); }
  .sub_menu_wrap::before  { display: none;}
  .sub_menu_wrap .inner{width:100%;}
  .sub_menu_wrap .m_dep_box{display:block; width:50%; float:left; border-right:1px solid rgba(255,255,255,0.2); text-align:left; cursor:pointer; font-size: 1.8rem;  }
  .sub_menu_wrap .m_dep_tit { display:block; background:url('/images/sub/arrow_down.png') no-repeat 95% center;color:#fff; box-sizing:border-box; padding:0 1em; cursor:pointer;}
  .sub_menu_wrap .m_dep_box .smenu{ display:none; width:calc(100% + 2px); margin-left:-1px; background:#f9f9f9; box-sizing:Border-box; border:1px solid #ddd; border-top:0;}
  .sub_menu_wrap .m_dep_box .smenu li {margin:0; width:100% !important; max-width: 100%; display:block; box-sizing:border-box;  border:0; border-top:1px dotted #ddd; padding:0; font-weight: 400;}
  .sub_menu_wrap .m_dep_box .smenu li:hover{background:#ccc;}
  .sub_menu_wrap .m_dep_box .smenu li:hover a{ border:0; font-weight:500; }
  .sub_menu_wrap .m_dep_box .smenu li a.on{background:#1a301c; color:#FFF; border:0;}
  .sub_menu_wrap .m_dep_box .smenu li:first-child{border-top:0;}
  .sub_menu_wrap .m_dep_box .smenu a{ color:#585858; display:block; width:100%;  padding: 1em; box-sizing:border-box; line-height:normal; font-size: 0.9em;}
  .sub_menu_wrap .m_2dep_box li:before{display:none;}
}


#subTitle { text-align: center; color:#212121; font-size: 4rem; font-weight: 700; line-height: 1.2em; padding: 4% 0 0; letter-spacing: -0.04em;}
#pageCont { padding: 4% 0; overflow: hidden;  }

@media all and (max-width:976px) {
   #pageCont { padding: 7% 0; }
}

@media all and (max-width:767px) {
   #pageCont { padding: 9% 0; }
}

@media all and (max-width:568px) {
   #subTitle { font-size: 3.5rem; }
   #pageCont { padding: 12% 0; }
}

@media all and (max-width:480px) {
  #subTitle { padding: 9% 0 5%; }
  #pageCont { padding-bottom: 7%; }
}




.tabmenu { position: relative; width: 100%; max-width: 1480px;   margin: 0 auto 3%; font-size:0;  }
.tabmenu li { position: relative; display: inline-block; vertical-align: middle; width: calc(100%/8); border-bottom: 1px solid #dedede; box-sizing: border-box;
                    height: 4.5em;  line-height: 4.5em; text-align: center; font-size: 1.7rem; }
.tabmenu li a { font-size: 1.7rem; display: block; color:#787878;  }
.tabmenu li a:hover { font-weight: 500;  }
.tabmenu li + li::before { content:''; width: 1px; height: 16px; background: #dedede; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.tabmenu li.on { border-bottom: 3px solid #498100;  }
.tabmenu li.on::after { content:''; width: 0px; height: 0px; position: absolute; bottom: -12px; left:50%; margin-left: -8px;
                                             border-bottom:12px solid none; border-top:12px solid #498100; display: block;
                                             border-right: 8px solid transparent; border-left: 8px solid  transparent; }
.tabmenu li.on a { color:#498100; font-weight: 500; }


@media all and (max-width:976px) {
  .tabmenu::after { content:''; width: 100%; height:1px; background: #dedede; position: absolute; left:0; bottom:0; }
  .tabmenu li { width: calc(100% / 4); }
  .tabmenu li:nth-child(4n+1)::before { display: none; }

  .tabmenu li.on::after { display: none; }
}

@media all and (max-width:480px) {
  .tabmenu li { width: calc(100% / 3); }
  .tabmenu li:nth-child(4n+1)::before { display: block; }
  .tabmenu li:nth-child(3n+1)::before { display: none; }
}

@media all and (max-width:380px) {
  .tabmenu li { height: 3.5em;  line-height: 3.5em; }
}


.btn_allmenu { display: none; line-height: 50px; border: 1px solid rgba(255,255,255,0.2); color:#fff; text-align: center;
                      padding: 0 1em 0 1.2em; position: absolute; right:0; bottom: 4%; font-size: 1.8rem; font-weight: 200;  }
.btn_allmenu::before { content:''; width: 15px; height: 1px; background: #fff; position: absolute; left:0; top:0; }
.btn_allmenu::after { content:''; width: 1px; height: 15px; background: #fff; position: absolute; left:0; top:0; }
.btn_allmenu p::after { content:''; width: 18px; height: 18px; display: inline-block; vertical-align: middle; margin-left: 1em; margin-top: -1px;
                                background: url("/images/sub/ico_down.png") no-repeat center; background-size: 100% auto; }
.btn_allmenu:hover { background: #498100; border-color:#498100; }


@media all and (max-width:640px) {
  .btn_allmenu  { line-height: 40px; }
}

@media all and (max-width:480px){
  .btn_allmenu { right: inherit; left:50%; transform: translateX(-50%); width: 200px; max-width: 100%; bottom: 5%; }
}
