/* =========================
   スマートフォン最適化版 sp.css
   ========================= */

/* 共通設定 */
* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  background-color: #fff;
  color: #333;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* レイアウト全体 */
#container,
#contents,
#main,
.contents_left,
.contents_right,
.sub_contents_right {
  width: 100%;
  max-width: 100%;
  padding: 0 10px;
  margin: 0 auto 20px;
}

.contents_center {
  display: none;
}

/* 見出しやテキスト */
h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  margin: 1.2em 0 0.5em;
}

p {
  margin-bottom: 1em;
}

/* ナビゲーション・ボタン */
ul#spnavi li a {
  display: block;
  padding: 12px 16px;
  font-size: 18px;
  text-decoration: none;
  border-bottom: 1px solid #ddd;
  color: #000;
}

ul#spnavi li a:hover {
  background-color: #f5f5f5;
}

/* ハンバーガーメニュー */
label.toggle, .btnHamburger {
  display: block;
  width: 44px;
  height: 44px;
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 1000;
  background: url("../images/common/menubtn.png") no-repeat center center / contain;
}

/*** ハンバーガーの変形 ***/

.btnHamburger {
  position: absolute;
  top: 0px;
  right: 50px;
  margin-right: -50px;
  width: 50px;
  height: 50px;
  cursor: pointer;
}

.btnHamburger .line {
  position: absolute;
  top: 0;
  right: 10px;
  display: block;
  width: 30px;
  height: 2px;
  background: #2d6432;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.btnHamburger .line_01 { top: 14px; }
.btnHamburger .line_02 { top: 20px; }
.btnHamburger .line_03 { top: 26px; }

.btnHamburger.is-active .line_01 {
  top: 14px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.btnHamburger.is-active .line_02 {
  opacity: 0;
}

.btnHamburger.is-active .line_03 {
  top: 14px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}


/* メニュー背景 */
#spnavi {
  position: fixed;
  top: 0;
  left: -100%;
  width: 80%;
  height: 100vh;
  background-color: #fff;
  transition: left 0.3s ease;
  z-index: 999;
  padding-top: 60px;
}

#spnavi.is-active {
  left: 0;
}

#black {
  display: none;
}

#black.is-active {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  z-index: 998;
}

/* フッター */
.footerWrapper {
  background-color: #f7f7f7;
  padding: 20px;
  text-align: center;
  font-size: 14px;
  color: #666;
}

/* レシピ一覧画像 */
#recipethum {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

#recipethum a {
  flex: 0 0 calc(50% - 10px);
  text-decoration: none;
}

#recipethum a img,
#recipethum div {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
}

/* バナーや画像リンク */
.box_top a {
  display: block;
  width: 100%;
  margin-bottom: 15px;
}

.box_top a img {
  width: 100%;
  height: auto;
}

/* メディアクエリ補足（PC非表示） */
.spnone {
  display: block;
}

@media screen and (min-width: 600px) {
  .spnone {
    display: none !important;
  }
}


/*
 * top
 ******************************/
#main{
        padding-top: 10px;
	height: 285px;
	background: url("../images/top/im_02.jpg") no-repeat;
	background-size: contain;
        background-position: center;
}
.box_top a{
        text-indent: 100%; /*テキスト消去*/
	white-space: nowrap; /*テキスト消去*/
	overflow: hidden; /*テキスト消去*/
	float: left;
	display: block;
	width: 342px;
	height: 285px;
}
#banatruffles{
	margin:0px 10px 10px 0px;
	background: url("../images/top/box_truffle.jpg") no-repeat;
	background-size: 342px 285px;
}
#banaporcini{
	margin:0px 0px 10px 0px;
	background: url("../images/top/box_porcini.jpg") no-repeat;
	background-size: 342px 285px;
}#banabagnacauda{
	margin:0px 10px 10px 0px;
	background: url("../images/top/box_bagna.jpg") no-repeat;
	background-size: 342px 285px;
}#banacompany{
	margin:0px 0px 0px 0px;
	background: url("../images/top/box_company.jpg") no-repeat;
	background-size: 342px 285px;
}
#homebana{
	margin: 20px 0;
}
#homebana img{
	width: 47%;
	margin: 0 2% 10px 0;
	height: auto;
}


/*
 * 会社概要
 ******************************/
.companyContents table{
	border-collapse: collapse;
	border:3px solid #e1e1e1;
	width: 100%;
	margin-bottom: 20px;
}
.companyContents table th, .companyContents table td{
	border: 1px solid #e1e1e1;
	padding: 15px 20px;
	text-align:left;
	vertical-align: top;
	font-weight: normal;
}
.companyContents table td p{
	margin-bottom:5px;
}
.companyContents table td p:last-child{
	margin-bottom:0;
}
.companyContents table th{
	background: #f2f2f2;
	width: 115px;
}
.companyContents .companyTxt1{
	margin-left: 6em;
	text-indent: -6em;
}
.companyContents .companyTxt2{
	margin-left: 5em;
	text-indent: -5em;
}
.companyContents .companyTxt3{
	margin-left: 2em;
	text-indent: -2em;
}

