.mv {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    background-image: url(/html/template/umai/assets/img/butcherman/mv.webp);
    background-position: center;
    background-size: cover;
    height: 550px;
    margin-bottom: 1.6rem
}
.mv .en {
    font-family: "EB Garamond", serif;
    font-size: 4.5rem
}
.mv .ja {
    display: block;
    font-family: "Noto Serif JP", serif;
    font-size: 1.6rem;
    margin-top: 1.2rem
}
@media(max-width: 767px) {
    .mv {
        background-image: url(/html/template/umai/assets/img/butcherman/sp_mv.webp);
        height: calc(100vh - 74px);
        padding: 0 1.4rem
    }
    .mv .en {
        font-size: 3.4rem
    }
    .mv .ja {
        font-size: 1.4rem
    }
}
.cont1 {
    margin: 10rem 0 6.4rem 0
}
.cont1__flex {
    display: flex;
    align-items: center
}
.cont1__flex--txt {
    position: relative;
    padding: 4.8rem 6.4rem
}
.cont1__flex--txt h3 {
    font-family: "Noto Serif JP", serif;
    margin-bottom: 3.2rem
}
.cont1__flex--txt h3 .large {
    display: block;
    font-size: 3.2rem;
    margin-top: 1.2rem
}
.cont1__flex--txt p {
    font-size: 1.6rem;
    line-height: 2
}
.cont1__flex--txt::after {
    content: "";
    display: inline-block;
    background-color: #fff;
    width: 60px;
    height: 100%;
    position: absolute;
    right: -40px;
    top: 0
}
.cont1__flex--img {
    margin-right: calc(50% - 50vw);
    max-width: 80%
}
@media(max-width: 1024px) {
    .cont1__flex--txt {
        padding: 4.8rem 2.4rem 4.8rem 0
    }
    .cont1__flex--txt::after {
        display: none
    }
    .cont1__flex--img {
        max-width: 50%
    }
}
@media(max-width: 767px) {
    .cont1 {
        margin: 4rem 0 4.8rem 0
    }
    .cont1__flex {
        flex-direction: column;
        row-gap: 3.2rem
    }
    .cont1__flex--txt {
        padding: 0
    }
    .cont1__flex--txt h3 {
        margin-bottom: 2.4rem
    }
    .cont1__flex--txt h3 .large {
        font-size: 2.4rem
    }
    .cont1__flex--img {
        margin-right: 0;
        max-width: none
    }
}
.cont2 {
    margin-bottom: 8rem
}
.cont2__flex {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6.4rem;
    background-color: #f5f5f5;
    padding: 4rem
}
.cont2__flex--img {
    width: 300px;
    box-shadow: 5px 5px 20px 0px rgba(0, 0, 0, .16)
}
.cont2__flex--txt h3 {
    font-size: 1.8rem;
    font-weight: 400;
    margin-top: 0
}
.cont2__flex--txt p {
    font-size: 1.4rem
}
@media(max-width: 767px) {
    .cont2 {
        margin-bottom: 6.4rem
    }
    .cont2__flex {
        flex-direction: column;
        gap: 2.4rem;
        padding: 4rem 3.2rem
    }
    .cont2__flex--img {
        order: 2;
        width: auto
    }
    .cont2__flex--txt h3 {
        font-size: 1.6rem;
        margin-top: 0
    }
}
.cont3 {
    background-color: #f5f5f5;
    padding: 8rem 0
}
.cont3__ttl {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: 3.2rem;
    margin-bottom: 4.8rem
}
.cont3__txt {
    display: flex;
    align-items: center
}
.cont3 .butcherman_swiper {
    padding-bottom: 6.4rem
}
.cont3 .butcherman_swiper img {
    margin-bottom: 1.6rem
}
.cont3 .butcherman_swiper .number {
    color: #666;
    font-family: "EB Garamond", serif;
    font-size: 2.8rem;
    padding-right: 2.4rem;
    border-right: 1px solid #666;
    text-wrap: nowrap;
    line-height: 1.5
}
.cont3 .butcherman_swiper .ja {
    padding-left: 2.4rem
}
.cont3 .swiper-pagination {
    bottom: 0
}
.cont3 .swiper-button-next, .cont3 .swiper-button-prev {
    height: 50px;
    width: 50px
}
.cont3 .swiper-button-next::after, .cont3 .swiper-button-prev::after {
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 9px;
    margin: auto;
    width: 24px
}
.cont3 .swiper-button-next {
    top: auto;
    bottom: -3px;
    right: 39%
}
.cont3 .swiper-button-next::after {
    background-image: url(/html/template/umai/assets/img/butcherman/slide_arrow_right.svg)
}
.cont3 .swiper-button-prev {
    top: auto;
    bottom: -3px;
    left: 39%
}
.cont3 .swiper-button-prev::after {
    background-image: url(/html/template/umai/assets/img/butcherman/slide_arrow_left.svg)
}
.cont3 .swiper-pagination-bullet-active {
    background-color: #333
}
@media(max-width: 1024px) {
    .cont3 .swiper-button-next {
        right: 34%
    }
    .cont3 .swiper-button-prev {
        left: 34%
    }
}
@media(max-width: 767px) {
    .cont3 {
        padding: 4.8rem 0
    }
    .cont3 .butcherman_swiper {
        padding: 0 2.4rem 4.8rem 2.4rem
    }
    .cont3 .butcherman_swiper .ja {
        font-size: 1.4rem;
        padding-left: 1.6rem
    }
    .cont3 .butcherman_swiper .number {
        font-size: 2rem;
        padding-right: 1.6rem
    }
    .cont3 .swiper-button-next {
        right: 24%
    }
    .cont3 .swiper-button-prev {
        left: 24%
    }
    .cont3__ttl {
        font-size: 2.2rem;
        margin-bottom: 2.4rem
    }
}
.cont4 {
    background-image: url(/html/template/umai/assets/img/butcherman/bg_cont4.webp);
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 8rem 0
}
.cont4__ttl {
    font-family: "Noto Serif JP", serif;
    font-size: 3.2rem;
    text-align: center;
    margin-bottom: 4.8rem
}
.cont4__item {
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    -moz-column-gap: 6rem;
    column-gap: 6rem;
    margin-bottom: 0
}
.cont4__item dt {
    font-weight: 400;
    width: 10%;
    padding: 4rem 0;
    border-right: 1px solid #fff;
    position: relative
}
.cont4__item dt::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%)
}
.cont4__item dd {
    font-weight: 400;
    width: 90%;
    line-height: 2
}
.cont4__link {
    text-align: center;
    margin-top: 5.6rem
}
.cont4__link a {
    display: inline-block;
    font-size: 1.4rem;
    color: #fff;
    padding: 2rem 0;
    border: 1px solid #fff;
    width: 300px;
    border-radius: 3px;
    background-image: url(/html/template/umai/assets/img/butcherman/arrow_right.svg);
    background-repeat: no-repeat;
    background-position: center right 24px
}
@media(max-width: 767px) {
    .cont4 {
        padding: 6.4rem 0
    }
    .cont4__ttl {
        font-size: 2.2rem
    }
    .cont4__item {
        flex-direction: column;
        align-items: flex-start;
        border-left: 1px solid #fff;
        padding-left: 2.4rem;
        margin-bottom: 0
    }
    .cont4__item dt {
        width: 100%;
        padding: 0;
        border: none
    }
    .cont4__item dt::after {
        left: -29px
    }
    .cont4__item dd {
        width: 100%;
        margin-bottom: 4rem
    }
    .cont4__item:last-of-type dd {
        margin-bottom: 0
    }
}
.cont5 {
    background-color: #f5f5f5;
    padding: 8rem 0
}
.cont5__ttl {
    font-family: "Noto Serif JP", serif;
    text-align: center;
    margin-bottom: 7.2rem
}
.cont5__ttl .small {
    font-size: 2rem
}
.cont5__ttl .large {
    font-size: 3.2rem;
    display: block;
    margin-top: 1.6rem
}
.cont5__ttl .large .underline {
    font-size: 4rem;
    background-image: url(/html/template/umai/assets/img/butcherman/bg_underline.svg);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain
}
.cont5__flex {
    display: flex;
    align-items: center;
    gap: 8rem;
    margin-bottom: 6.4rem
}
.cont5__flex:last-of-type {
    margin-bottom: 0
}
.cont5__flex img {
    width: 50%
}
.cont5__flex p {
    font-size: 1.8rem
}
.cont5__white {
    background-color: #fff;
    padding: 8rem 2.4rem
}
.cont5__white--item {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 10.4rem
}
.cont5__white--item:last-of-type {
    margin-bottom: 0
}
.cont5__white--item .ttl {
    text-align: center;
    font-size: 3.2rem;
    font-family: "Noto Serif JP", serif;
    padding-bottom: 2.4rem;
    margin-bottom: 4.8rem;
    position: relative
}
.cont5__white--item .ttl::after {
    content: "";
    width: 60px;
    height: 1px;
    display: inline-block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    background-color: #a18f23
}
.cont5__white--item .txt {
    font-size: 1.6rem;
    margin-bottom: 6.4rem;
    line-height: 2
}
.cont5__white--item .youtube {
    width: 100%;
    aspect-ratio: 16/9
}
.cont5__white--item .youtube iframe {
    width: 100%;
    height: 100%
}
.cont5__white--item .youtube+p {
    text-align: center
}
.cont5__white--flex {
    display: flex;
    align-items: center;
    gap: 4rem;
    margin-bottom: 4.8rem
}
.cont5__white--flex img {
    width: 50%
}
.cont5__white--flex p {
    text-align: center;
    width: 50%
}
@media(max-width: 767px) {
    .cont5 {
        padding: 4.8rem 0 6.4rem 0
    }
    .cont5__ttl {
        margin-bottom: 4.8rem
    }
    .cont5__ttl .small {
        font-size: 1.8rem
    }
    .cont5__ttl .large {
        font-size: 2.2rem;
        margin-top: 0
    }
    .cont5__ttl .large .underline {
        font-size: 3rem
    }
    .cont5__flex {
        flex-direction: column;
        gap: 1.6rem;
        margin-bottom: 4rem
    }
    .cont5__flex img {
        width: 100%
    }
    .cont5__flex p {
        font-size: 1.6rem;
        text-align: left;
        width: 100%
    }
    .cont5__white {
        padding: 4.8rem 2.4rem
    }
    .cont5__white--item {
        width: 100%;
        margin-bottom: 6.4rem
    }
    .cont5__white--item .ttl {
        font-size: 2.2rem;
        padding-bottom: 1.6rem;
        margin-bottom: 2.4rem
    }
    .cont5__white--item .txt {
        margin-bottom: 3.2rem
    }
    .cont5__white--item .youtube+p {
        font-size: 1.4rem;
        text-align: left
    }
    .cont5__white--flex {
        flex-direction: column;
        gap: 1.6rem;
        margin-bottom: 3.2rem
    }
    .cont5__white--flex img {
        width: 100%
    }
    .cont5__white--flex p {
        width: 100%;
        font-size: 1.4rem;
        text-align: left
    }
}
.map {
    width: 100%;
    aspect-ratio: 1366/400
}
.map iframe {
    width: 100%;
    height: 100%
}
@media(max-width: 767px) {
    .map {
        aspect-ratio: 3/2
    }
}
.cont7 {
    margin-top: 4.8rem;
    margin-bottom: 20rem;
    text-align: center
}
.cont7__txt {
    font-family: "Noto Serif JP", serif;
    font-size: 2.4rem;
    line-height: 2;
    text-align: center;
    background-image: url(/html/template/umai/assets/img/butcherman/bg_cont7.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding: 6.4rem;
    margin-bottom: 14rem
}
@media(max-width: 767px) {
    .cont7__txt {
        font-size: 1.8rem;
        padding: 10.4rem 0
    }
}
/* ===============================
   義経焼特集ページ
=============================== */

/* ---------- TOP ---------- */

.yoshitsune {
  padding: 0 0 80px;
}

/* メイン画像 */
.yoshitsune__mv picture,
.yoshitsune__mv img {
  display: block;
  width: 100%;
}

/* 下段テキストエリア */
.yoshitsune__text-wrap {
  padding: 80px 0;
  background: #fff;
}

.yoshitsune__inner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  gap: 80px;
}

/* ストーリー（左・縦書き） */
.yoshitsune__story p {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 1.6rem;
  line-height: 2.4;
}

/* 見出し（右・縦書き） */
.yoshitsune__lead {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 2.6rem;
  line-height: 2;
  margin-top: 0;
}

/* ---------- 羊肉へのこだわり ---------- */

.yoshitsune-meat {
  background: #f5f5f5;
  padding: 80px 0;
}

.yoshitsune-meat__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.yoshitsune-meat__card {
  background: #fff;
  padding: 80px 40px;
}

.yoshitsune-meat__title {
  text-align: center;
  font-size: 3.2rem;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 48px;
  padding-bottom: 16px;
  position: relative;
}

.yoshitsune-meat__title::after {
  content: "";
  width: 60px;
  height: 1px;
  background: #a18f23;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.yoshitsune-meat__row {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 40px;
}

.yoshitsune-meat__row:last-child {
  margin-bottom: 0;
}

.yoshitsune-meat__img {
  width: 45%;
}

.yoshitsune-meat__img img {
  width: 100%;
  display: block;
}

.yoshitsune-meat__text {
  width: 55%;
}

.yoshitsune-meat__heading {
  font-size: 2rem;
  margin-bottom: 16px;
  font-family: "Noto Serif JP", serif;
}

.yoshitsune-meat__text p {
  font-size: 1.4rem;
  line-height: 2;
}

/* ---------- 原材料へのこだわり ---------- */

.yoshitsune-ingredients {
  background: #f5f5f5;
  padding: 80px 0;
}

.yoshitsune-ingredients__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.yoshitsune-ingredients__card {
  background: #fff;
  padding: 80px 40px;
}

.yoshitsune-ingredients__title {
  text-align: center;
  font-size: 3.2rem;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 48px;
  padding-bottom: 16px;
  position: relative;
}

.yoshitsune-ingredients__title::after {
  content: "";
  width: 60px;
  height: 1px;
  background: #a18f23;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

.yoshitsune-ingredients__row {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 40px;
}

.yoshitsune-ingredients__row:last-child {
  margin-bottom: 0;
}

.yoshitsune-ingredients__img {
  width: 45%;
}

.yoshitsune-ingredients__img img {
  width: 100%;
  display: block;
}

.yoshitsune-ingredients__text {
  width: 55%;
}

.yoshitsune-ingredients__heading {
  font-size: 2rem;
  margin-bottom: 16px;
  font-family: "Noto Serif JP", serif;
}

.yoshitsune-ingredients__text p {
  font-size: 1.4rem;
  line-height: 2;
}

/* ---------- 義経焼の由来 ---------- */

.yoshitsune-origin {
  padding: 80px 0 120px;
}

.yoshitsune-origin__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 40px;
}

.yoshitsune-origin__text h3 {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 32px;
}

.yoshitsune-origin__text .small {
  font-size: 1.6rem;
}

.yoshitsune-origin__text .large {
  display: block;
  font-size: 3rem;
  margin-top: 12px;
}

.yoshitsune-origin__text p {
  font-size: 1.4rem;
  line-height: 2;
}

.yoshitsune-origin__img img {
  max-width: 100%;
  display: block;
}

/* ---------- Tablet?SP（TOPのテキストレイアウト） ---------- */
@media screen and (max-width: 1400px) {

  .yoshitsune__text-wrap {
    padding: 56px 24px 64px;
  }

  .yoshitsune__inner {
    max-width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  /* 見出しを先に表示（横書き） */
  .yoshitsune__lead {
    writing-mode: horizontal-tb;
    text-orientation: initial;
    font-size: 2.2rem;
    text-align: center;
    order: 0;
  }

  .yoshitsune__story {
    order: 1;
    width: 100%;
  }

  .yoshitsune__story p {
    writing-mode: horizontal-tb;
    text-orientation: initial;
    font-size: 1.5rem;
    line-height: 2.2;
    text-align: center;
  }
}

/* ---------- SP 追加調整 ---------- */
@media screen and (max-width: 767px) {

.yoshitsune__inner {
    flex-direction: column;
    align-items: flex-start;  
    text-align: left;
    gap: 24px;
  }

  .yoshitsune {
    padding: 0 0 40px;
  }

  .yoshitsune__text-wrap {
    padding: 48px 16px 56px;
  }

  .yoshitsune__lead {
    font-size: 2rem;
    margin-bottom: 8px;
    text-align: left;
  }

  .yoshitsune__story p {
    font-size: 1.4rem;
    text-align: left;
  }

  .yoshitsune-meat,
  .yoshitsune-ingredients {
    padding: 40px 21px;
  }

  .yoshitsune-meat__card,
  .yoshitsune-ingredients__card {
    padding: 32px 30px;
  }

  .yoshitsune-meat__title,
  .yoshitsune-ingredients__title {
    font-size: 2.2rem;
    margin-bottom: 32px;
  }

  .yoshitsune-meat__row,
  .yoshitsune-ingredients__row {
    flex-direction: column;
    gap: 16px;
  }

  .yoshitsune-meat__img,
  .yoshitsune-meat__text,
  .yoshitsune-ingredients__img,
  .yoshitsune-ingredients__text {
    width: 100%;
  }

  .yoshitsune-origin {
    padding: 40px 30px 80px;
  }

  .yoshitsune-origin__inner {
    flex-direction: column;
  }

  .yoshitsune-origin__text .large {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 1200px) and (min-width: 768px) {

  .yoshitsune-origin {
    /* 上下は少し軽め・左右24pxの余白を追加 */
    padding: 56px 24px 96px;
  }

  .yoshitsune-origin__inner {
    max-width: 100%;   /* 画面幅いっぱい使いつつ、外側paddingで余白確保 */
  }
}
.yoshitsune-products {
  padding: 60px 0 100px;
}

.yoshitsune-products__title {
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 32px;
  font-family: "Noto Serif JP", serif;
}

.yoshitsune-products__empty {
  text-align: center;
  font-size: 1.4rem;
}

/* SP で少し余白詰める */
@media screen and (max-width: 767px) {
  .yoshitsune-products {
    padding: 40px 16px 80px;
  }
}
.yoshitsune-set {
  background: #fff;
  padding: 80px 0;
}

.yoshitsune-set__inner {
  max-width: 900px;          
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;    
  gap: 32px;              
  box-sizing: border-box;
}
.yoshitsune-set__info {
  flex: 1;
  max-width: 520px;
}

.yoshitsune-set__labels {
  margin-bottom: 12px;
}

.yoshitsune-set__label {
  display: inline-block;
  padding: 4px 10px;
  font-size: 1.2rem;
  border: 1px solid #ccc;
  border-radius: 2px;
  margin-right: 6px;
}

.yoshitsune-set__label--type {
 
}

.yoshitsune-set__title {
  font-size: 2rem;
  margin-bottom: 16px;
}

.yoshitsune-set__spec {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.9;
}

.yoshitsune-set__btn-wrap {
  margin-top: 8px;
}

.yoshitsune-set__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 260px;
  padding: 14px 24px;
  border: 1px solid #333;
  background: #fff;
  font-size: 1.4rem;
  letter-spacing: .05em;
  text-decoration: none;
  color: #333;
  transition: background .2s, color .2s;
}

.yoshitsune-set__btn::after {
  content: ">";
  margin-left: 12px;
  font-size: 1.2rem;
}

.yoshitsune-set__btn:hover {
  background: #333;
  color: #fff;
}

.yoshitsune-set__image {
  flex: 0 0 360px;
  text-align: center;
}

.yoshitsune-set__image img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .yoshitsune-set {
    padding: 48px 0;
  }

  .yoshitsune-set__inner {
    flex-direction: column;
    gap: 32px;
  }

  .yoshitsune-set__info {
    max-width: 100%;
  }

  .yoshitsune-set__title {
    font-size: 1.8rem;
  }

  .yoshitsune-set__btn {
    width: 100%;
  }

  .yoshitsune-set__image {
    flex: none;
    max-width: 260px;
    margin: 0 auto;
  }
  .yoshitsune-set__image {
    order: 1; 
  }

  .yoshitsune-set__info {
    order: 2;   }

}

}

/* =====================================================
  Story Section（React案をTwig化：フォント変更なし／CTAなし）
===================================================== */
.story{
  background:#fdfdfd;
  color:#333;
}

.story .sp-only{ display:none; }
@media (max-width: 768px){
  .story .sp-only{ display:inline; }
}

/* -----------------------
  Section 1
----------------------- */
.story1{
  position: relative;
  max-width: 860px;
  margin: 0 auto;
  padding: 80px 24px 100px;
  text-align: center;
}

.story1__line{
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:1px;
  height:64px;
  background: rgba(122, 15, 15, .35);
}

.story1__ttl{
  font-size: 28px;
  line-height: 1.9;
  letter-spacing: .12em;
  margin: 0 0 36px;
  color:#111;
}

.story1__txt{
  max-width: 720px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 2.0;
  letter-spacing: .04em;
  color:#666;
  text-align: justify;
}

.story1__txt p{ margin: 0 0 18px; }

@media (min-width: 769px){
  .story1__txt{ text-align: center; }
}
