/* ============================================
   辻井養蜂場 トップページ カスタムCSS
============================================ */
.tj-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 40px;
  box-sizing: border-box;
  background-image: url('https://img06.shop-pro.jp/PA01161/649/etc_base64/MDQwQTMwMTY.jpg?cmsp_timestamp=20260605013039');
  background-size: cover;
  background-position: center center;
}
.tj-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.42);
}
.tj-hero__content {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
}
.tj-hero__eyebrow {
  font-size: 11px;
  letter-spacing: 0.25em;
  color: #e8d9b8;
  margin-bottom: 20px;
}
.tj-hero__title {
  font-size: 52px;
  font-weight: normal;
  line-height: 1.4;
  margin: 0 0 24px;
  color: #fff;
}
.tj-hero__sub {
  font-size: 17px;
  line-height: 1.9;
  color: rgba(255,255,255,0.88);
  margin: 0 auto 36px;
}
.tj-hero__btns {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.tj-btn-primary {
  display: inline-block;
  padding: 16px 40px;
  background: #633806;
  color: #fff !important;
  font-size: 17px;
  text-decoration: none;
  border-radius: 2px;
  letter-spacing: 0.05em;
  transition: background 0.3s;
}
.tj-btn-primary:hover { background: #4a2904; color: #fff !important; }
.tj-btn-secondary {
  display: inline-block;
  padding: 16px 40px;
  border: 1px solid rgba(255,255,255,0.8);
  color: #fff !important;
  font-size: 17px;
  text-decoration: none;
  border-radius: 2px;
  letter-spacing: 0.05em;
  transition: all 0.3s;
}
.tj-btn-secondary:hover { background: rgba(255,255,255,0.15); }
.tj-grad {
  height: 6px;
  background: linear-gradient(90deg, #b3a37e, #633806, #b3a37e);
}
.tj-trust {
  display: flex;
  justify-content: center;
  background: #fff;
  border-top: 1px solid #e8e0d0;
  border-bottom: 1px solid #e8e0d0;
}
.tj-trust__item {
  flex: 1;
  text-align: center;
  padding: 28px 16px;
  border-right: 1px solid #e8e0d0;
}
.tj-trust__item:last-child { border-right: none; }
.tj-trust__icon { margin-bottom: 6px; display: flex; justify-content: center; align-items: center; }
.tj-trust__label { font-size: 16px; font-weight: bold; color: #2d1a08; margin-bottom: 4px; }
.tj-trust__sub { font-size: 13px; color: #888; }
.tj-section-head { text-align: center; margin-bottom: 48px; }
.tj-section-head__eyebrow {
  font-size: 11px;
  letter-spacing: 0.2em;
  color: #b3a37e;
  margin-bottom: 12px;
}
.tj-section-head__title {
  font-size: 40px;
  font-weight: normal;
  margin: 0;
  color: #2d1a08;
}
#tj-story-wrap {
  background: #f5ede0;
  margin-left: -25px !important;
  margin-right: -25px !important;
  width: calc(100% + 50px) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
#tj-story-wrap .tj-story-inner {
  display: flex;
  align-items: center;
  padding: 80px 140px 60px 140px;
  box-sizing: border-box;
  gap: 70px;
}
#tj-story-wrap .tj-story-map { flex: 0 0 46%; box-sizing: border-box; }
#tj-story-wrap .tj-story-map img { width: 100%; height: auto; display: block; }
#tj-story-wrap .tj-story-text { flex: 1; min-width: 0; box-sizing: border-box; }
#tj-story-wrap .tj-story__eyebrow { font-size: 11px; letter-spacing: 0.15em; color: #b3a37e; margin-bottom: 16px; }
#tj-story-wrap .tj-story__title { font-size: 40px !important; line-height: 1.4; margin-bottom: 28px; font-weight: normal; }
#tj-story-wrap .tj-story__body { font-size: 17px; line-height: 1.9; margin-bottom: 20px; color: #3a3a3a; }
#tj-story-wrap .tj-sign-wrap { display: block; text-align: right; margin-top: 28px; padding-bottom: 60px; font-size: 17px !important; color: #633806; }
.tj-season { padding: 80px 0; }
.tj-season__inner { padding: 0 40px; box-sizing: border-box; width: 100%; }
.tj-season__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.tj-season__card { background: #fff; border-radius: 8px; padding: 32px 20px; text-align: center; box-sizing: border-box; min-width: 0; }
.tj-season__icon { margin-bottom: 8px; display: flex; justify-content: center; align-items: center; }
.tj-season__name { font-size: 17px; font-weight: bold; margin-bottom: 10px; color: #2d1a08; }
.tj-season__area { font-size: 15px; color: #b3a37e; margin-bottom: 12px; }
.tj-season__desc { font-size: 15px; line-height: 1.9; color: #555; margin: 0; overflow-wrap: break-word; }
.tj-gallery { padding: 80px 0; background: #faf6f0; }
.tj-gallery__inner { padding: 0 40px; box-sizing: border-box; width: 100%; }
.tj-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 32px; row-gap: 32px; }
.tj-gallery__item {
  border-radius: 8px; height: 240px; display: flex; flex-direction: column;
  align-items: center; justify-content: flex-end; padding: 20px 16px;
  box-sizing: border-box; position: relative; overflow: hidden;
  background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important;
}
.tj-gallery__item::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.05) 60%);
  border-radius: 8px;
}
.tj-gallery__label { position: relative; z-index: 1; font-size: 15px; color: #fff; font-weight: bold; text-align: center; line-height: 1.4; margin: 0; text-shadow: 0 1px 4px rgba(0,0,0,0.8); }
.tj-cta { padding: 100px 40px; text-align: center; background: #2d1a08; color: #fff; }
.tj-cta__title { font-size: 32px; font-weight: normal; color: #fff; margin: 0 0 16px; line-height: 1.5; }
.tj-cta__sub { font-size: 17px; color: rgba(255,255,255,0.75); margin: 0 0 40px; line-height: 1.8; }
.tj-cta__btns { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.tj-cta__btn-main { display: inline-block; padding: 16px 48px; background: #b3a37e; color: #fff !important; font-size: 17px; text-decoration: none; border-radius: 2px; letter-spacing: 0.05em; transition: background 0.3s; }
.tj-cta__btn-main:hover { background: #9a8c6a; color: #fff !important; }
.tj-cta__btn-sub { display: inline-block; padding: 16px 48px; border: 1px solid rgba(255,255,255,0.5); color: #fff !important; font-size: 17px; text-decoration: none; border-radius: 2px; letter-spacing: 0.05em; transition: all 0.3s; }
.tj-cta__btn-sub:hover { background: rgba(255,255,255,0.1); }

/* 人気のはちみつ PC */
.tj-recommend .p-recommend-item-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.tj-recommend .p-recommend-item-list__item {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
}
.tj-recommend .c-item-list__img.u-square-img {
  width: 100% !important;
  padding-top: 0 !important;
}
.tj-recommend .c-item-list__img.u-square-img::before {
  padding-top: 100% !important;
}
.tj-recommend .c-item-list__img.u-square-img a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.tj-recommend .c-item-list__img.u-square-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  max-width: none !important;
}

@media only screen and (max-width: 767px) {
  .tj-hero { min-height: 100vw !important; padding: 48px 24px !important; }
  .tj-hero__eyebrow { font-size: 10px !important; letter-spacing: 0.2em !important; }
  .tj-hero__title { font-size: 30px !important; line-height: 1.5 !important; margin-bottom: 16px !important; }
  .tj-hero__sub { font-size: 14px !important; line-height: 1.8 !important; margin-bottom: 24px !important; }
  .tj-hero__btns { flex-direction: column !important; align-items: center !important; gap: 12px !important; }
  .tj-btn-primary, .tj-btn-secondary { width: 80% !important; text-align: center !important; padding: 14px 20px !important; font-size: 15px !important; box-sizing: border-box !important; }
  .tj-trust { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; }
  .tj-trust__item { padding: 20px 12px !important; border-right: 1px solid #e8e0d0 !important; border-bottom: 1px solid #e8e0d0 !important; }
  .tj-trust__item:nth-child(2n) { border-right: none !important; }
  .tj-trust__item:nth-child(3), .tj-trust__item:nth-child(4) { border-bottom: none !important; }
  .tj-trust__label { font-size: 14px !important; }
  .tj-trust__sub { font-size: 12px !important; }
  .tj-section-head { margin-bottom: 28px !important; }
  .tj-section-head__title { font-size: 24px !important; }
  #tj-story-wrap { margin-left: -20px !important; margin-right: -20px !important; width: calc(100% + 40px) !important; }
  #tj-story-wrap .tj-story-inner { display: block !important; padding: 0 !important; gap: 0 !important; }
  #tj-story-wrap .tj-story-map { display: block !important; width: 100% !important; flex: none !important; padding: 24px 28px !important; box-sizing: border-box !important; }
  #tj-story-wrap .tj-story-map img { width: 100% !important; height: auto !important; display: block !important; border-radius: 6px; }
  #tj-story-wrap .tj-story-text { display: block !important; width: 100% !important; padding: 28px 28px 8px !important; box-sizing: border-box !important; }
  #tj-story-wrap .tj-story__title { font-size: 24px !important; }
  #tj-story-wrap .tj-story__body { font-size: 14px !important; line-height: 1.9 !important; }
  #tj-story-wrap .tj-story__body .tj-pc-br { display: none !important; }
  #tj-story-wrap .tj-sign-wrap { padding: 16px 24px 32px !important; font-size: 13px !important; }
  .tj-season { padding: 48px 0 !important; }
  .tj-season__inner { padding: 0 16px !important; }
  .tj-season__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .tj-season__card { padding: 20px 12px !important; }
  .tj-season__name { font-size: 14px !important; margin-bottom: 6px !important; }
  .tj-season__area { font-size: 12px !important; margin-bottom: 8px !important; }
  .tj-season__desc { font-size: 12px !important; line-height: 1.7 !important; }
  .tj-gallery { padding: 48px 0 !important; }
  .tj-gallery__inner { padding: 0 16px !important; }
  .tj-gallery__grid { grid-template-columns: repeat(2, 1fr) !important; column-gap: 10px !important; row-gap: 10px !important; }
  .tj-gallery__item { height: 180px !important; padding: 12px !important; }
  .tj-gallery__label { font-size: 12px !important; }
  .tj-cta { padding: 48px 20px !important; }
  .tj-cta__title { font-size: 22px !important; margin-bottom: 12px !important; }
  .tj-cta__sub { font-size: 14px !important; margin-bottom: 24px !important; }
  .tj-cta__btns { flex-direction: column !important; align-items: center !important; gap: 12px !important; }
  .tj-cta__btn-main, .tj-cta__btn-sub { width: 80% !important; text-align: center !important; padding: 14px 20px !important; font-size: 15px !important; box-sizing: border-box !important; }
  .tj-recommend { padding-top: 48px !important; padding-bottom: 48px !important; }
  /* 人気のはちみつ スマホ2列 */
  .tj-recommend .p-recommend-item-list { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .tj-recommend .p-recommend-item-list__item .c-item-list__ttl { font-size: 13px !important; }
  .tj-recommend .p-recommend-item-list__item .c-item-list__price { font-size: 13px !important; margin-top: 4px !important; }
}
.c-item-list__ttl { font-size: 17px !important; }
.c-item-list__price { font-size: 17px !important; }
.l-main-navi-list__link { font-size: 17px !important; }
.l-footer-navi-list__item a { font-size: 17px !important; }
.p-checked { display: none !important; }