@charset "euc-jp";
/* top */

@media screen and (max-width: 767px) {
  .recommend-list, .seller-list, .together-list {margin-top: 30px;}
}
  
/* top-sec01 */
.top-sec01 { margin-bottom: 100px; }

@media screen and (max-width: 767px) {
  .top-sec01 { margin-bottom: 40px; }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .top-sec01 img.pc-block {display: block;}
  .top-sec01 img.sp-block {display: none;}
}

/* top-sec02 */
.top-sec02 { margin-bottom: 40px; display:-webkit-box; display:-ms-flexbox;  display:flex; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.top-sec02 .top-sec02-text { width: 400px; margin-right: 50px; }
.top-sec02 .top-sec02-text .top-sec02-title { margin-bottom: 60px; }
.top-sec02 .top-sec02-text .top-sec02-title p { font-size: 22px; margin-bottom: 10px; line-height: 1.4; letter-spacing: 0.1em;}
.top-sec02 .top-sec02-text .top-sec02-title h2 { font-size: 36px; text-align: left; margin: 0; line-height: 1.2; letter-spacing: 0.1em;}
.top-sec02 .top-sec02-img { width: 600px; }

@media screen and (max-width: 767px) {
  .top-sec02 { display: block; margin-bottom: 20px; }
  .top-sec02 .top-sec02-text { width: 100%; margin-right: 0; margin-bottom: 30px; }
  .top-sec02 .top-sec02-text .top-sec02-title { margin-bottom: 30px; }
  .top-sec02 .top-sec02-img { width: 100%; }
}
@media screen and (orientation: landscape) {
  .top-sec02 .top-sec02-img img { width: 100%; }
}

/* top-sec03 */
.top-sec03 { margin-bottom: 100px; }
.top-sec03 ul.top-sec03-category-list { 
  display: -webkit-box; 
  display: -ms-flexbox; 
  display: flex; 
  -ms-flex-wrap: wrap; 
  flex-wrap: wrap; 
  -webkit-box-pack: justify; 
  -ms-flex-pack: justify; 
  justify-content: space-between; 
}
.top-sec03 ul.top-sec03-category-list li { 
  width: 49.0476%; 
  margin-bottom: 20px; /* 上下の間隔を追加 */
}
.top-sec03 ul.top-sec03-category-list li:nth-child(2n) { 
  margin-left: 1.9048%; 
}
.top-sec03 ul.top-sec03-category-list li:nth-child(n+3) {
  margin-top: 10px; /* 3番目以降の要素に上部マージンを追加 */
}

@media screen and (max-width: 767px) {
  .top-sec03 { margin-bottom: 60px; }
  .top-sec03 ul.top-sec03-category-list { display: block; }
  .top-sec03 ul.top-sec03-category-list li { 
    width: 100%; 
    margin-bottom: 20px; /* モバイル表示でも間隔を保持 */
  }
  .top-sec03 ul.top-sec03-category-list li:nth-child(2n) { 
    margin-left: 0; 
    margin-top: 20px; 
  }
  .top-sec03 ul.top-sec03-category-list li:nth-child(n+3) {
    margin-top: 20px; /* モバイル表示での3番目以降の要素のマージン */
  }
}

@media screen and (max-width: 767px) and (orientation: landscape) {
  .top-sec03 ul.top-sec03-category-list { 
    display: -webkit-box; 
    display: -ms-flexbox; 
    display: flex; 
    -ms-flex-wrap: wrap; 
    flex-wrap: wrap; 
    -webkit-box-pack: justify; 
    -ms-flex-pack: justify; 
    justify-content: space-between; 
  }
  .top-sec03 ul.top-sec03-category-list li { 
    width: 49.0476%; 
    margin-bottom: 20px; /* ランドスケープモードでも間隔を保持 */
  }
  .top-sec03 ul.top-sec03-category-list li:nth-child(2n) { 
    margin-left: 1.9048%; 
    margin-top: 0;
  }
  .top-sec03 ul.top-sec03-category-list li:nth-child(n+3) {
    margin-top: 10px; /* ランドスケープモードでの3番目以降の要素のマージン */
  }
}

/* 人気商品 */
.seller__section { margin: 50px 0 40px; }
.seller__section h2 { margin-bottom: 30px; }

@media screen and (max-width: 767px) {
  .seller__section {margin-bottom: 30px;}
}
/* top-sec04 */
/*.top-sec04 { display: none;}*/
.top-sec04 { margin-bottom: 60px; }

@media screen and (max-width: 767px) {
  .top-sec04 { margin-bottom: 60px; }
}

@media screen and (max-width: 767px) and (orientation: landscape) {
  .top-sec04 a.pc-block {display: block;}
  .top-sec04 a.sp-block {display: none;}
}

/* top-sec05 */
.top-sec05 { margin-bottom: 80px; }
.top-sec05 h2 { margin: 0 0 30px 0; }
.top-sec05 ul.top-sec05-cuisine-list { display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;}
.top-sec05 ul.top-sec05-cuisine-list li { width: 31.4286%; }
.top-sec05 ul.top-sec05-cuisine-list li:nth-child(3n) { margin-bottom: 40px; }
.top-sec05 ul.top-sec05-cuisine-list li +li { margin-left: 2.8571%; }
.top-sec05 ul.top-sec05-cuisine-list li:nth-child(3n+1) { margin-left: 0; }
.top-sec05 ul.top-sec05-cuisine-list li p { margin-top: 10px; }

@media screen and (max-width: 767px) {
  .top-sec05 { margin-bottom: 40px; }
  .top-sec05 h2 { margin: 0 0 20px 0; }
  .top-sec05 ul.top-sec05-cuisine-list { display: block; }
  .top-sec05 ul.top-sec05-cuisine-list li { width: 100%; }
  .top-sec05 ul.top-sec05-cuisine-list li:nth-child(3n) { margin-bottom: 0; }
  .top-sec05 ul.top-sec05-cuisine-list li +li { margin-left: 0; margin-top: 20px; }
  .top-sec05 ul.top-sec05-cuisine-list li p { margin-top: 5px; }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .top-sec05 ul.top-sec05-cuisine-list { display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;}
  .top-sec05 ul.top-sec05-cuisine-list li { width: 49%; }
  .top-sec05 ul.top-sec05-cuisine-list li:nth-child(2n) { margin-bottom: 20px; }
  .top-sec05 ul.top-sec05-cuisine-list li +li { margin-left: 2%; margin-top: 0;}
  .top-sec05 ul.top-sec05-cuisine-list li:nth-child(2n+1) { margin-left: 0; }
  .top-sec05 ul.top-sec05-cuisine-list li p { margin-top: 10px; }
}

/* section__block info__section */
.info__section {margin-bottom: 0;}
.info__section h2 { font-size: 20px; position: relative; text-align: left; margin: 0; }
.info__section h2::before { content: ""; position: absolute; bottom: 43%; right: 0; width: 73%; height: 1px; background-color: rgba(245, 234, 216, 0.2);}
.info__section h2 .section__title-h2-span { position: relative; padding: 0 33.5px 0 0; background: #332307; }
.info__section h2 .section__title-h2-alphabet { font-size: 54px; color: rgba(245, 234, 216, 0.3); padding-right: 20px; letter-spacing: 2px; }
.info__section h2 .section__title-h2-news {  font-family : YuGothic, 'Yu Gothic', sans-serif; letter-spacing: 4px; position: absolute; bottom: 0; width: 5em; }
.info__section .info { margin-top: 3px; background-color: #F5EAD8; padding: 30px; color: #110B01; }

@media screen and (max-width: 1280px) {
  .info__section h2::before { width: 70%; }
}

@media screen and (max-width: 767px) {
  .info__section h2::before { content: none; }
}

<style>
/* 既存CSSとの競合を避けるための固有の接頭辞を使用 */
.tsubasan-section {
  font-family: "Noto Sans JP", "Hiragino Sans", "Meiryo", sans-serif;
  color: #fff;
  line-height: 1.8;
  padding: 40px 20px;
  background-color: #402e10;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}

.tsubasan-container {
  max-width: 1000px;
  margin: 0 auto;
}

.tsubasan-header {
  text-align: center;
  margin-bottom: 30px;
}

.tsubasan-shop-intro {
  font-size: 20px;
  margin: 0 0 12px;
  font-weight: 500;
  color: #b0aea8;
}

.tsubasan-brand-name {
  font-size: 36px;
  margin: 0;
  font-weight: 700;
  color: #fff;
  letter-spacing: 2px;
}

.tsubasan-intro {
  font-size: 20px;
  text-align: center;
  margin-bottom: 40px;
  font-weight: 500;
  color: #fff;
  line-height: 1.8;
}

.tsubasan-features {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 30px;
  margin-bottom: 30px;
}

.tsubasan-feature {
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.tsubasan-feature-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  background-color: #e63832;
  margin: 0;
  padding: 15px 20px;
  position: relative;
}

.tsubasan-feature-content {
  padding: 22px;
  color: #333;
}

.tsubasan-feature-content p {
  margin: 0;
  font-size: 17px;
  line-height: 1.9;
}

.tsubasan-gift-section {
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  margin-bottom: 30px;
}

.tsubasan-gift-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  background-color: #e63832;
  margin: 0;
  padding: 15px 20px;
  position: relative;
}

.tsubasan-gift-content {
  padding: 22px;
  color: #333;
}

.tsubasan-gift-content p {
  margin: 0;
  font-size: 17px;
  line-height: 1.9;
}

.tsubasan-quote {
  margin-top: 18px !important;
  font-style: italic;
  color: #555;
  border-left: 3px solid #e63832;
  padding-left: 15px;
  font-size: 17px;
}

.tsubasan-closing {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  margin-top: 30px;
  padding: 25px;
  background-color: #fff;
  border-radius: 8px;
  color: #333;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  line-height: 1.9;
}

.tsubasan-pc-only {
  display: inline;
}

/* レスポンシブ対応 */
@media (min-width: 768px) {
  .tsubasan-features {
    grid-template-columns: repeat(3, 1fr);
  }
  
  .tsubasan-section {
    padding: 60px 20px;
  }
}

@media (max-width: 767px) {
  .tsubasan-brand-name {
    font-size: 30px;
  }
  
  .tsubasan-shop-intro {
    font-size: 18px;
  }
  
  .tsubasan-feature-title,
  .tsubasan-gift-title {
    font-size: 18px;
    padding: 14px 18px;
  }
  
  .tsubasan-feature-content,
  .tsubasan-gift-content {
    padding: 18px;
  }
  
  .tsubasan-feature-content p,
  .tsubasan-gift-content p {
    font-size: 16px;
  }
  
  .tsubasan-intro {
    font-size: 17px;
    margin-bottom: 30px;
  }
  
  .tsubasan-pc-only {
    display: none;
  }
  
  .tsubasan-section {
    padding: 30px 15px;
  }
  
  .tsubasan-features {
    gap: 20px;
  }
  
  .tsubasan-closing {
    font-size: 16px;
    padding: 20px;
  }
  
  .tsubasan-quote {
    font-size: 15px;
    margin-top: 15px !important;
  }
}

/* ハイコントラストモードのための対応 */
@media (prefers-contrast: more) {
  .tsubasan-feature-title,
  .tsubasan-gift-title {
    background-color: #cc0000;
    color: #ffffff;
  }
  
  .tsubasan-section {
    background-color: #000000;
  }
  
  .tsubasan-feature,
  .tsubasan-gift-section {
    border: 2px solid #000000;
  }
}
</style>