
*{
    /*outline: 2px red solid;*/
}
body {
	background-color: #fff;
	margin:0 auto;
	padding: 0;
}
p {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	line-height: 2.0em;
	font-weight: 500;
}
ul {
	padding: 0;
}
a {
	text-decoration: none;
	color: #000;
}
figure {
	margin:0;
}
table {
		border-spacing: 0;
}

@media screen and (max-width: 1032px) {
	.pc {
display:none !important;
	}
}



.visual {
 	background-color: #fff;
 	margin-bottom: 60px;

}

#wrap {
	margin:0 auto;
	max-width: 2200px;
}
.slick-slide img {
	margin:0 auto;

	/*height: 100vh;*/
  margin: auto;
  max-height: 100%;
  max-width: 100%;
  object-fit: cover;
  width: 100%;
}

.zen-antique soft-regular {
  font-family: "Zen Antique Soft", serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (min-width: 1033px) {
.visual::before {
	content:"信州を食べよう";
	position: absolute;
	top:230px;
	left:150px;
	z-index: 9999;
	font-size:4em;
	color: #fff;
	font-family: "Zen Antique Soft", serif;
	font-weight: 400;
	font-style: normal;
}
}
@media screen and (max-width: 1032px) {
.visual::before {
	content: "信州を食べよう";
	position:relative;
	top:235px;
	font-size:1.5rem;
	display: flex;
	justify-content: center;
	color: #000;
		font-family: "Zen Antique Soft", serif;
	font-weight: 400;
	font-style: normal;
}
}




.message {
	margin: 0 auto;
	display: block;
	margin-top:80px;
}
@media screen and (max-width: 1032px) {
	.message {
	width:100%;
}
}


@media screen and (min-width: 1033px) {
header {
	width: 100%;
	/*margin-top:20px;*/
	display: flex;
	justify-content:space-between; 
	z-index: 9998;
	position:absolute;
	/*background-color: #000;*/
	position: fixed;

}
.visual::after {
	content:url(../images/nagano.png);
	position:absolute;
	top:150px;
	left:100px;
}
}


/*ロゴ*/
#logo {
	margin-left:50px;
	z-index: 100;
}
@media screen and (max-width: 1032px) {
#logo {
	display: flex;
	justify-content: center;
	margin: 20px auto;
}
}

/*グローバルメニュー*/
@media screen and (min-width: 1033px) {
#g_navi {
	margin-right:50px;
	z-index: 100;

}
	#g_navi ul {
		display: flex;
		/*max-width: 960px;*/
		list-style-type: none;
	}
		#g_navi ul li {
			margin-left: 20px;
			color: #FFF;
			text-shadow: 1px 1px 2px #000000;
		}
		#g_navi ul li:first-child::before {
			position: absolute;
			display: block;
			content: "";
			top: 25%;
			left: 0px;
			width: 1px;
			height: 50%;
		}
		#g_navi ul li::after {
			position: absolute;
			display: block;
			content: "";
			top: 25%;
			right: 0px;
			width: 1px;
			height: 50%;
		}
			#g_navi ul li a {
				display: block;
				padding: 17px 10px;
				text-decoration: none;
				color: #fff;
			}
			#g_navi ul li a:hover {

			}
		}

			/*スマホ用*/

/*
	.menu-container {
  margin: 0;
  position: relative;
}

.menu-container .menu {
  border: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-container .menu .menu-item {
  flex: 1;
}

.menu-container .menu .menu-item a {
  background: #fff;
  border-right: 1px solid #ccc;
  color: #333;
  display: block;
  padding: 0.6em 0.4em;
  text-align: center;
  text-decoration: none;
}

.menu-container .menu .menu-item a:hover {
  background: #ccc;
  color: #ffffff;
}

.menu-container .menu .menu-item:last-child a {
  border-right: none;
}
*/


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


.menu-container {
  margin: 0;
  position: relative;
}

.menu-container .menu {
  border: 1px solid #ccc;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 2000;
}

.menu-container .menu .menu-item {
  flex: 1;
}

.menu-container .menu .menu-item a {
  background: #fff;
  border-right: 1px solid #ccc;
  color: #333;
  display: block;
  padding: 0.6em 0.4em;
  text-align: center;
  text-decoration: none;
  opacity: 0.8;
}

.menu-container .menu .menu-item a:hover {
  background: #ccc;
  color: #ffffff;
}

.menu-container .menu .menu-item:last-child a {
  border-right: none;
}


  .menu-container .menu {
    display: none;
    position: absolute;
    width: 100%;
  }
  .menu-container .menu .menu-item a {
    border-bottom: 1px solid #ccc;
    border-right: none;
  }
  .menu-container .menu .menu-item:last-child a {
    border-bottom: none;
  }
}
.icon-hamburger {
  background: #fff;
  border: 1px solid #ccc;
  cursor: pointer;
  height: 50px;
  position: absolute;
  right:10px;
  top:20px;
  z-index: 1000;
  width: 50px;
	display: none;
  margin-bottom: 0.4em;
}

.icon-hamburger span {
  background: #cccccc;
  display: block;
  height: 16%;
  left: 50%;
  margin: -8% 0 0 -42%;
  position: absolute;
  top: 50%;
  width: 84%;
}

.icon-hamburger span::before,
.icon-hamburger span::after {
  background: #cccccc;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: -8% 0 0 -50%;
  position: absolute;
  top: 50%;
  width: 100%;
}

.icon-hamburger span::before {
  margin-top: -38%;
}

.icon-hamburger span::after {
  margin-top: 19%;
}

@media screen and (max-width: 1032px) {
  .icon-hamburger {
    display: inline-block;
  }
}





/*メインコンテンツエリア*/
#contents {
	margin:0 auto 80px;
	max-width: 900px;
}
#contents h2 {
	text-align: center;
	margin:80px auto;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-weight: 500!important;
	font-size: 2.0em;
}
#contents h4 {
	text-align: center;
	margin:50px auto;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-weight: 500!important;
	font-size: 1.8em;
}
.widebox {
	background: #eee;
	margin: 0 calc(50% - 50vw);
	padding: 4px calc(50vw - 50% + 8px);
	padding-top:50px;
	padding-bottom: 50px;
}
.widebox li {
 width: 30%;
}
.modal__open img {
 filter: drop-shadow(3px 3px 3px #aaa);
}
.f_left {
	float: left;
	margin-right:20px;
}
.f_right {
	float: right;
	margin-left:20px;
}

.clearfix::after {
    content: " ";
    display: block;
    clear: both;
}
/*ロゴの追加　2504*/
.f_left2 {
	float: left;
	margin-top:50px;
	margin-left:0px;
	padding-bottom:0px;
}


/*各ページのイメージ部分*/

#pagetitle_info {
	background-image:url("../images/pattern-01.png"), url("../images/title_info.jpg");
	background-repeat: repeat, no-repeat; /* パターンのリピート */
  	background-blend-mode: overlay; /* パターンをオ−バーレイで表示 */
  	background-size: auto, cover;/* パターンにautoを指定 */
  	width: 100%;
	height: 350px;
	text-align: center;
	background-position: center center;
}

#pagetitle_kodawari {
	background-image:url("../images/pattern-01.png"), url("../images/title_kodawari.jpg");
	background-repeat: repeat, no-repeat; /* パターンのリピート */
  	background-blend-mode: overlay; /* パターンをオ−バーレイで表示 */
  	background-size: auto, cover;/* パターンにautoを指定 */
  	width: 100%;
	height: 350px;
	text-align: center;
	background-position: center center;
}
#pagetitle_menu {
	background-image:url("../images/pattern-01.png"), url("../images/title_menu.jpg");
	background-repeat: repeat, no-repeat; /* パターンのリピート */
  	background-blend-mode: overlay; /* パターンをオ−バーレイで表示 */
  	background-size: auto, cover;/* パターンにautoを指定 */
  	width: 100%;
	height: 350px;
	text-align: center;
	background-position: center center;
}

#pagetitle_info h2, #pagetitle_kodawari h2, #pagetitle_menu h2 {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	padding-top:200px;
	color: #fff;
	font-size: 2.2em;
	letter-spacing: 0.5em;
	font-weight: 500!important;
	text-shadow: #000 1px 0 5px;
	
}
/*ご案内ページ-------------------------------------------------------------*/
.img_center {
	text-align: center;
}


/*こだわりページ-------------------------------------------------------------*/
.box_kodawari {
	border-bottom: 1px solid #ccc;
	padding:80px 0;
}
.box_kodawari h3 {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-size: 2.0em;
	font-weight: 500!important;
	margin-top:0;
}
.widebox ul{
 list-style: none;
 display: flex;
 justify-content: space-evenly;
}

.widebox li{
  /*width: 30%;*/
  height: auto;
  text-align: center;
}

.widebox li img{
  width: 100%;
  height: auto;
}

/*メニューページ-------------------------------------------------------------*/
.menu1 td:last-child, .menu2 td:last-child, .menu3 td:last-child {
	text-align: right;
}
.menu1 td:first-child, .menu2 td:first-child, .menu3 td:first-child {
	text-align: left;
}
#menu table td {
    border-bottom: 1px dotted #ddd;
  }
#menu .f_left {
	width: 45%;
	margin:0;
}
#menu .f_right {
	width: 45%;
	margin:0;
}
#menu table {
	width: 100%;
}
#menu td {
	line-height:35px;
}
.p-link {
	margin-bottom:100px;
}
.p-link ul {
	list-style: none;
	/*justify-content: space-evenly;*/
}
.p-link li {
	  height: auto;
  	text-align: center;
}
.p-link li a {
	/*display: flex;*/
	    width: 48%;
    align-items: center;
    justify-content: center;
    line-height: 50px;
    /*line-height: 1.42857;*/
    letter-spacing: .05em;
    position: relative;
    float:left;
		border: 1px solid #000;
		margin:5px;
  }
  .p-link a::before {
    content: "∨";
    position: absolute;
    width: 11px;
    height: 8px;
    top: 10%;
    right: 12px;
    transform: translateY(-50%);
    color: #666;
 }
#menu img {
	text-align: center;
	width: 100%;
}
.menu-image {
	margin-bottom:20px;
}

#event img {
	margin-bottom: 25px;
}
.bg_bk {
	background-color: #000;
}
.lunch01 {
	font-size: ;
}
#menu h2 span {
	font-size: 2.5em;
}
.box_oozara {
	border-bottom: 1px solid #ccc;
	padding:20px 0;
}
.box_oozara h3 {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-size: 2.0em;
	font-weight: 500!important;
	margin-top:20px;
}

.box_oozara .pick1 {
	font-size: 3.5em;
	color: #cc0000;
	line-height: 1.5em;
}
.box_oozara .pick2 {
	font-size: 1.5em;
	line-height: 1.5em;
	float:right;
	margin-right: 20px;
}
.box_oozara .bg_bk {
	padding:10px;
	color: #fff;
	line-height: 4.0em;
}


@media screen and (min-width: 1033px) {
	#menu .f_right { 
	width: 45%;
}
#menu .f_left { 
	width: 45%;
}
#menu .box_oozara img {
	width: 60%; 
	margin:0 20px;
}
}
@media screen and (max-width: 1032px) {
.p-link li a {
	width: calc(100% - 10px);
}

}






/*店舗紹介-------------------------------------------------------------*/
.shop_h3 {
	background: #eee;
  margin: 0 calc(50% - 50vw);
  padding: 4px calc(50vw - 50% + 8px);
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	font-weight: 500!important;
	font-size: 2.0em;
	margin-bottom:70px;
	margin-top:100px;
}
.shop-table td:first-child {
	vertical-align: top;
	padding-right:20px;
}
.shop-table td{
border-bottom:1px solid #ccc;
padding:10px 20px;
}
.shop-table {
	border-top:1px solid #ccc;
}
#shoptop {
	width: 55%;
}
#shop_n .f_left {
	margin-right:10px;
}
#shop_n .f_right {
	margin-left:10px;
}
#shop_n .mb01 {
	margin-bottom:30px;
}
/*会社概要-----------------------------------------------------------*/
.tb_company {
	width: 100%;
	border-top:1px solid #ccc;
	font-size: 1em;
	padding-bottom:30px;
}
.tb_company th, .tb_company td {
border-bottom:1px solid #ccc;
padding:10px 20px;
text-align: left;
}
.tb_company th {
	width:20%;
	font-weight: normal;
}

/*採用情報-----------------------------------------------------------*/
#recruit_btn a {
    display: block;
    width: 36%;
    text-align: center;
    margin: 15px 2%;
    padding: 15px 5%;
    font-size: 17px;
    text-decoration: none;
    background-color: #800000;
    border-radius: 0.5rem;
    color: #fff;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
    float: left;
}
.btn_wrap span {
    display: block;
    border-top: 1px dotted #aaa;
    padding: 15px 0 0 0;
    padding-top: 15px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-top: 10px;
    font-size: 1.2em;
    letter-spacing: 0.3em;
}





/*news-------------------------------------------------------------*/
#news  {
	width: 800px;
	margin:80px auto;
	display: table;
}




#news dl {
	display: flex;
}
#news h4 {
	float:left;
	font-weight: normal;
	vertical-align: top;
	margin-top:12px;
	margin-right:20px;
}
.news-contents {
	display: block;
	float:left;
	width:85%;
}
.news-contents dl {
	font-size: 0.9em;
	margin:12px;
	border-bottom: 1px dotted #ccc;
}
@media screen and (max-width: 1032px) {
	#news {
	width:100%;
}
.news-contents {
	width:100%;
}
}

/*footer*/

#foot {
	background-color:#000;
	padding-top:50px;
}
#footer-cont {
	display: flex;
		height: 220px;
	justify-content:space-between;
	margin:0 50px;
}
@media screen and (max-width: 1032px) {
	#footer-cont {
	justify-content:center;
}
}

#foot .shop {
	display: flex;
}
#foot .shop img {
	margin-left:20px;
	width: 200px;
}
#foot .shop figure {
	margin:0;
}
#foot .shop figcaption {
	text-align: center;
	color:#fff;
	font-size: 0.8em;
}
#footer-logo {
	margin:0 auto;
}
#f_navi {
	margin:0 auto 30px;
}
#f_navi ul {
		display: flex;
		/*max-width: 960px;*/
		list-style-type: none;
		justify-content: center;
		font-size: 0.8em;
}
#f_navi ul li {
			margin-left: 17px;
			color: #FFF;
		}
		#f_navi ul li:first-child::before {
			position: absolute;
			display: block;
			content: "";
			top: 25%;
			left: 0px;
			width: 1px;
			height: 50%;
		}
		#f_navi ul li::after {
			position: absolute;
			display: block;
			content: "";
			top: 25%;
			right: 0px;
			width: 1px;
			height: 50%;
		}
			#f_navi ul li a {
				display: block;
				padding: 17px 10px;
				text-decoration: none;
				color: #fff;
			}
			#f_navi ul li a:hover {

			}
#copy {
text-align: center;
color: #fff;
font-size: 0.8em;
padding-bottom:15px;
}
#social {
text-align: center;
margin-top:15px;
}
#social img {
	margin:0 10px;
	width: 35px;
}
#recruitbanner {
	text-align: center;
	margin-top:15px;
}

.clearfix::after {
   content: "";
   display: block;
   clear: both;
}



.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(80px);
    transition: opacity 1s,visibility 1s, transform 1s;
}


.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

/*
.js-fade {
  opacity : 0;
  transform : translate(0, 100px);
  transition : all 1s;
}
 
.js-fade.scroll{
  opacity : 1;
  transform : translate(0, 0);
}
*/


.modal__open:hover {
  cursor: pointer;
}

.modal {
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}

.modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: fixed;
  left: 0;
  width: 100%;
}

.modal__content {
  font-size: 14px;
  background: white;
  padding: 32px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 60%;
  max-width: 650px;
}

.modal__content img{
  width: 70%;
  height: auto;
}

.modal .close__text {
  color: red;
  position: absolute;
  top: 5%;
  right: 5%;
}

/*トップに戻るボタン*/
.pagetop {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 40px;
}
.pagetop a {
    display: block;
    background-color: #ccc;
    text-align: center;
    color: #222;
    font-size: 12px;
    text-decoration: none;
    padding: 5px 10px;
		filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
.pagetop a:hover {
    display: block;
    background-color: #b2d1fb;
    text-align: center;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
    padding:5px 10px;
		filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}


