@charset "UTF-8";


.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.shippori-mincho-semibold {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
}

.shippori-mincho-bold {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-style: normal;
}

/* 共通　*/
body {
    margin: 0;
    padding: 0;
    font-family: 'Shippori Mincho', serif;
    color: #16160e;
    line-height: 2.0;
    
}
/* ヘッダー */
.header {
    background-color: #ffffff;
    color: #16160e;
}
/* ヘッダーの内側 */
.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0px;
    /* max-width: 1040px; ←これを削除または下記に変更 */
    max-width: 100%; /* ヘッダーの最大幅を100%に設定 */
    margin: 0;
    /* ここで幅を100%に設定 */
    width: 100%;
    box-sizing: border-box;
}

/* ヘッダーロゴ */
.logo h1{
    margin: 0 auto;
    text-align: center;
    
    
}


/* ハンバーガーメニュー（スマホ用ハンバーガー、PC非表示） */
.drawer-hamburger {
    display: none;
}


/* ナビゲーション */
.drawer-menu {
    display: flex;/*横並び*/
    list-style: none; /* リストのドットを消す */
    margin: 0;
    justify-content: center; /*中央寄せ*/
    align-items: center; /* 縦方向の中央揃え */
    color: #16160e;
}
/* ナビゲーションのリストアイテム */
.drawer-menu li {
    margin: 0 10px; /* 左右の余白 */
    padding: 10px 0; /* 上下の余白 */
    font-size: 16px;
    color: #16160e;
}

.drawer-menu-item {
    font-size: 20px;
    color: #16160e;
    text-decoration: none; /* 下線を消す */
    text-align: center; /* 中央揃え */
    flex: 0 1 22%; /* 各リンクの幅を均等に */

}

/* フッター */
footer {
    background-color: #16160e;
    color: #ffffff;
    padding: 50px 0 20px;
    text-align: center;
    
}

/* どれみについて */


.about h1 {
    padding: 50px 20px;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px;
}
.about h1::after {
    content: "";
    display: block;
    background-color: #16160e;
    width: 85px;
    height: 5px;
    margin: 20px auto; /* 上下の余白を自動で調整 */
}


.about p {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    font-size: 18px;
    line-height: 1.6;
    text-align: justify; /* 両端揃え */
    margin-bottom: 30px; /* 下の余白を追加 */
}

.about h2 {
    font-size: 24px;
    margin-top: 30px;
    text-align: center;
}

.text-box {
    max-width: 800px;
    margin: 120px auto;
    padding: 20px;
    font-size: 18px;
    line-height: 1.6;
}
.message-content {
    display: flex; /* 横並び */
    flex-wrap: nowrap; /* 横並びで折り返さない */
    align-items: center; /* 縦方向の中央揃え */
    margin-top: 20px;
    gap: 20px;
  }
  
.image-box {
    margin: 120px auto;
    padding: 20px;
    width: 400px;
    height: auto;
    flex-shrink: 0; /* 画像のサイズを固定 */
    margin-bottom: 30px; /* 下の余白を追加 */
  }
  
.text-box {
    flex: 1;
    line-height: 1.8;

  
  }



/* 出張料理service */

.service h1 {
    padding: 50px 20px;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 20px;
}
.service h1::after {
    content: "";
    display: block;
    width: 85px;
    height: 5px;
    background-color: #16160e;
    margin: 20px auto; /* 上下の余白を自動で調整 */
}


.service p {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    font-size: 18px;
    line-height: 1.6;
    color: #16160e;
    text-align: justify; /* 両端揃え */
}
.service h2 {
    padding: 50px 20px;
    text-align: center;
    color: #16160e;
    font-size: 25px;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 30px;
    margin-bottom: 30px;
}
.service ul {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    font-size: 18px;
    line-height: 1.6;
    color: #16160e;
    text-align: justify; /* 両端揃え */
    list-style: none; /* リストのドットを消す */
    margin-bottom: 30px; /* 下の余白を追加 */
}
.service-examples {
    display: grid; /* グリッドレイアウト */
    grid-template-columns: 1fr 1fr 1fr; /* 自動で列を作成 */
    gap: 20px;
}
.service-examples img {
    width: 100%; /* 画像を100%のサイズに縮小 */
    height: auto; /* 縦横比を維持 */
    
}



/* 問い合わせ */
.reservation h1 {
    padding: 50px 20px;
    text-align: center;
    color: #16160e;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 30px;
}
.reservation h1::after {
    content: "";
    display: block;
    width: 85px;
    height: 5px;
    background-color: #16160e;
    margin: 20px auto; /* 上下の余白を自動で調整 */
}

.reservation p {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    font-size: 18px;
    line-height: 1.6;
    color: #16160e;
    text-align: justify; /* 両端揃え */
}

.contact-options {
  flex-wrap: wrap;
  gap: 4em;
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  display: block; /* 縦並び */

}

.option {
  flex: 1;
  padding: 40px;
  background-color: #f8f8f8;
  margin: auto;
}


/* ラベルボックス */
.box1-2 {
  width: 100%;
  padding: 20px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px; /* 下の余白を追加 */
}

/* タイトル付き（ラベルボックス） */
.contact-box {
  max-width: 800px; /* 最大幅を設定 */
  margin: 0 auto; /* 中央寄せ */
  padding: 20px; /* 内側の余白 */
  display: flex; /* 横並び */
  flex-wrap: wrap; /* 折り返し可能 */
  gap: 2em; /* アイテム間のスペースを追加 */
}

.box1-2 {
   position: relative; /* タイトルの配置調整のために基準を設定 */
   margin: 0 auto 2em; /* 外側の余白（上下と中央配置） */
   border: 2px solid #1d1d1d; /* ボックスの線 (太さ・種類・色) */
}

.box1-2 .box-title {
   position: absolute; /* タイトルをボックス内で絶対位置指定 */
   top: -0.5em; /* 上方向に少し移動 */
   left: 1em; /* 左端からの距離 */
   background-color: #fff; /* タイトル背景色 */
   color: #1d1d1d; /* タイトルの文字色 */
   padding: 0 .5em; /* タイトルの内側余白 */
   font-weight: bold; /* タイトルのフォントを太字に */
   line-height: 1.25; /* タイトルの行の高さ */
   display: inline-block; /* タイトルの幅を内容に合わせる */
   width: auto; /* タイトル幅を内容に応じて可変にする */
   max-width: calc(100% - 2em); /* 左右の余白を考慮して最大幅を調整 */
   white-space: nowrap; /* タイトルを1行に固定 */
   overflow: hidden; /* はみ出した部分を非表示 */
   text-overflow: ellipsis; /* 省略記号（...）を表示 */
}

.box1-2 .box-content {
   padding: 2em; /* ボックス内コンテンツの余白を設定 */
}

.box1-2 p {
   margin: 0; /* 段落の余白をなくして統一感を持たせる */
}

/* topページ */

.swiper-slide {
  position: relative;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.slick-arrow, .swiper-button-prev, .swiper-button-next {
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  /* 必要に応じてleft/rightやwidth/heightも調整 */
}

.slick-arrow {
  /* 例: ボタンが画像外にはみ出さないように */
  left: 10px;
  right: 10px;
}
/* style.css の一番下に追加 */

.swiper-slide img {
  width: 100%;
  
  height: auto;
  display: block;
  margin: 0 auto;     /* 中央寄せ */
}
/* スライドのナビゲーション・ボタンを非表示にする */
.slick-arrow,
.slick-dots,
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination {
  display: none !important;
}
.three-column {
  display: flex;
  gap: 0; /* カラム間の隙間をなくす */
  height: 400px; /* 高さを400pxに設定 */
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow-x: hidden;

}


.column {
  flex: 1; /* 各カラムを均等にする */
  padding: 20px;
  text-align: center;
  color: #ffffff; /* テキストの視認性向上 */
  background-size: cover;
  background-position: center;
 
}



.fade-hover:hover {
  opacity: 1;
  transform: translateY(0px);
}


/* それぞれのカラムに異なる画像を設定 */
.column:nth-child(1) {
  background-image: url('../images/slide1.png');
}

.column:nth-child(2) {
  background-image: url('../images/slide2.png');
}

.column:nth-child(3) {
  background-image: url('../images/slide3.png');
}



/* topスマホなどレスポンシブ時に縦並び */
@media (max-width: 768px) {
  .three-column {
    flex-direction: column;
    height: 500px; /* 高さを500pxに設定 */
  }
  .header-container {
    align-items: center; /* 中央揃え */
    padding: 0px; /* パディングを調整 */
    margin-right: 10px; /* 中央寄せ */
    width: 100%; /* 幅を100%に */ 
  }
/*　お問い合わせフォームのレスポンシブ */
  .form-group {
    display: block; /* gridだったものをblockにすることで、横に並んでたものを縦に積む */
  }
  .form-label {
    display: block;
    padding-top: 0;
    margin-bottom: 5px;
  }
/* ヘッダーロゴのレスポンシブ */
  .logo img {
        max-width: 50%;  /* 画像を50%のサイズに縮小 */
        height: auto;  /* 縦横比を維持 */
        padding: 0%; /* パディングを削除 */
        margin: 0 auto; /* 自動で中央寄せ */
      
    }
/* ハンバーガーメニュー（スマホ用ハンバーガー、PC非表示） */
    .drawer-hamburger {
        display: block;
        background: none;
        border: none;
        cursor: pointer;
    }
/* ナビゲーションのレスポンシブ */
    .drawer-menu {
        flex-direction: column; /* 縦並びに変更 */
        align-items: flex-start; /* 左寄せ */
    }

    .drawer-menu li {
        margin-left: 0; /* 縦並びでは左余白を削除 */
        margin-bottom: 10px; /* 下に余白を追加 */
    }
    .message-content {
        flex-direction: column; /* 縦並びに変更 */
        align-items: center; /* 中央揃え */
        
        gap: 0px; /* アイテム間のスペースを追加 */

    }

    .image-box {
        display: none;
        width: 100%;  /* 画像を100%のサイズに縮小 */
        height: auto;  /* 縦横比を維持 */
        margin-bottom: 0px; /* 下の余白を削除 */
        padding-bottom: 0%;

  
    }

    .text-box {
        margin-top: 0%;
        text-align: justify;
        margin-bottom: 0px; /* 下の余白を削除 */
        background-image: url('../images/miyazawa.jpg');
        background-size: cover; /* 画像をカバーする */
        background-color: rgba(0, 0, 0, 0.1); /* 半透明の背景で読みやすく */
        color: #ffffff; /* テキストの色を白に変更 */
    }
   .overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒背景 */
        display: flex;
        justify-content: center;
        align-items: center;
        color: #ffffff; /* テキストの色を白に変更 */
    }

   .swiper-slide,
   .swiper-slide img {
    width: 100%;
    max-width: 100%;
  }


}

/* ヘッダーの最大幅を100%に設定 */

.header-container {
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}
