#sec1 {
  position: relative;
  padding: 14vw 0 20vw;
  z-index: 3;
}

#sec1::before {
  content: "";
  background: url("../img/menu/sec1_bg.jpg") no-repeat 23% 0;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

#sec1 h2 {
  position: relative;
  z-index: 2;
  margin: 0 -2vw -12vw -11vw;
}

#sec1 .photo-1 {
  margin: 0 -11vw -19vw;
}

#sec1 .photo-2 {
  margin: 0 -7vw;
}

#sec1 .text {}

@media screen and (min-width: 768px) {
  #sec1 {
    padding: 139px 0 0px;
  }

  #sec1::before {
    background: url("../img/menu/sec1_bg.jpg") no-repeat center top;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  #sec1 h2 {
    width: 930px;
    margin: 0 0 20px -99px;
  }

  #sec1 .photo-1 {
    width: 597px;
    position: absolute;
    top: 294px;
    left: -126px;
    margin: 0;
  }

  #sec1 .photo-2 {
    width: 536px;
    position: absolute;
    top: -120px;
    right: -100px;
    margin: 0;
  }

  #sec1 .text {
    width: 504px;
    margin-left: auto;
    padding-right: 0;
    margin-right: -5px;
  }
}

#sec2 {
  position: relative;
  z-index: 2;
  padding: 0vw 0 20vw;
}

#sec2::before {
  content: "";
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 431px;
  z-index: -1;
  display: none;
}

#sec2::after {
  content: "";
  background: url("../img/menu/sec2_bg01_sp.jpg") no-repeat center top;
  background-size: 100% 100%;
  position: absolute;
  top: 7vw;
  left: 0;
  width: 100%;
  height: 278vw;
  z-index: -1;
}

#sec2 h2 {
  width: 60vw;
  margin: 0 auto 5vw;
}

#sec2 .catch {
  position: absolute;
  width: 27vw;
  top: 111vw;
  right: 8vw;
  z-index: 3;
  pointer-events: none;
  touch-action: none;
}

#sec2 .note {
  position: relative;
  text-align: center;
}

#sec2 .photo {
  position: relative;
  z-index: 2;
}

#sec2 .photo .bnr__popup {
  display: block;
  position: absolute;
  top: 6vw;
  left: 50%;
  transform: translateX(-50%);
  width: 89%;
  height: 80%;
  border-radius: 50%;
  font-size: 0;
}

#sec2 .photo-1 {
  width: 66vw;
  margin: 0 auto -10vw;
}

#sec2 .photo-2 {
  position: relative;
  width: 60vw;
  margin-left: -12vw;
  margin-bottom: -38vw;
}

#sec2 .photo-3 {
  width: 60vw;
  margin-left: auto;
  margin-right: -10vw;
  margin-bottom: -25vw;
}

#sec2 .photo-4 {
  width: 58vw;
  margin-left: -7vw;
  margin-bottom: -39vw;
}

#sec2 .photo-5 {
  position: relative;
  width: 66vw;
  margin-left: auto;
  margin-right: -6vw;
}

#sec2 .photo-6 {
  width: 60vw;
  margin: 0 auto 7vw;
}

#sec2 .bnr__shared {}

@media screen and (min-width: 768px) {
  #sec2 {
    padding: 31px 0 30px;
  }

  #sec2::before {}

  #sec2::after {
    background: url("../img/menu/sec2_bg01.png") no-repeat center top;
    background-size: 100% 100%;
    position: absolute;
    top: 200px;
    left: 0;
    width: 100%;
    height: 1482px;
  }

  #sec2 h2 {
    width: 525px;
    margin-left: auto;
    margin-right: -86px;
    margin-bottom: -110px;
  }

  #sec2 .catch {
    width: 226px;
    height: 179px;
    top: 134px;
    /* right: 278px; */
    right: 365px;
  }

  #sec2 .note {
    width: 33px;
    height: 260px;
    position: absolute;
    top: 427px;
    right: 430px;
  }

  #sec2 .photo {
    position: absolute;
    z-index: 2;
  }

  #sec2 .photo .bnr__popup {
    top: 73px;
    left: 50%;
    width: 493px;
    height: 493px;
  }

  #sec2 .photo-1 {
    width: 563px;
    top: 110px;
    left: -21px;
    margin: 0;
  }

  #sec2 .photo-2 {
    width: 559px;
    position: relative;
    margin-left: -305px;
    margin-right: auto;
    margin-bottom: -67px;
  }

  #sec2 .photo-3 {
    width: 559px;
    top: 674px;
    left: 225px;
    margin: 0;
  }

  #sec2 .photo-4 {
    width: 611px;
    top: 622px;
    left: 758px;
    margin: 0;
  }

  #sec2 .photo-5 {
    width: 781px;
    margin: 0 0 35px -280px;
    position: relative;
  }

  #sec2 .photo-6 {
    width: 559px;
    top: 1268px;
    left: 496px;
    margin: 0;
  }

  #sec2 .bnr__shared {
    width: 420px;
    margin-left: 82px;
  }

  #sec2 .bnr__shared a {
    padding: 39px 0;
  }
}

#sec3 {
  position: relative;
  padding-bottom: 11vw;
}

#sec3::after,
#sec3::before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  background: #d32a07;
  opacity: 0.05;
}

#sec3::before {
  top: 24vw;
  bottom: -13vw;
  clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 98%);
  opacity: 0.1;
}

#sec3::after {
  top: 12vw;
  bottom: -20vw;
  clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%);
}

#sec3 .wrap {
  max-width: 1100px;
}

#sec3 h2 {
  margin: 0 -5vw 10vw;
  position: relative;
  z-index: 3;
}

#sec3 .wrap-full {
  background: url("../img/menu/sec3_tag_bg_sp.png") no-repeat center center;
  background-size: 100% 100%;
  position: relative;
  z-index: 2;
  margin: 0 -4vw 7vw;
}

#sec3 .wrap-full .tab-link {
  position: absolute;
  top: -8vw;
  right: 5vw;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  left: 5vw;
}

#sec3 .wrap-full .tab-link .toggle-link__item {
  display: block;
  margin-bottom: 0;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

#sec3 .wrap-full .tab-link .toggle-link__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0%;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  z-index: 1;
}

#sec3 .wrap-full .tab-link .toggle-link__item img {
  position: relative;
  transition: all 0.3s ease;
}

#sec3 .wrap-full .tab-link .toggle-link__item.active img {
  transform: translateY(13px);
}

#sec3 .wrap-full .inner {
  padding: 7vw 5vw 15vw;
}

#sec3 .wrap-full .inner h3 {
  position: relative;
  margin-bottom: -3vw;
}

#sec3 .wrap-full .inner .tab-photo {
  position: relative;
}

#sec3 .wrap-full .inner .tab-photo .photo {
  width: 100%;
}

#sec3 .wrap-full .inner .tab-photo .price {
  position: absolute;
  color: #d82f08;
  font-size: 3.6vw;
  background: url("../img/menu/sec3_note.png") no-repeat center;
  background-size: 100% 100%;
  width: 39vw;
  height: 12vw;
  line-height: 12vw;
  text-align: center;
  bottom: 2vw;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
}

#sec3 .wrap-full .inner .tab-photo .price span {
  font-size: 5.2vw;
}

#sec3 .wrap-full .inner .tab-text {
  padding: 2vw 3vw 5vw 6vw;
}

#sec3 .wrap-full .inner .bnr__shared {
  margin: 0 auto;
  width: 68vw;
}

#sec3 .bnr {}

@media screen and (min-width: 768px) {
  #sec3 {
    padding-bottom: 20px;
    padding-top: 0;
  }

  #sec3::before {
    top: 121px;
    bottom: -202px;
    clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 85%);
  }

  #sec3::after {
    top: -38px;
    bottom: -200px;
    clip-path: polygon(0 18%, 100% 0, 100% 80%, 0 100%);
  }

  #sec3 .wrap {
    max-width: 1100px;
  }

  #sec3 h2 {
    width: 903px;
    margin: 0 auto -55px;
  }

  #sec3 .wrap-full {
    background: url("../img/menu/sec3_tag_bg.png") no-repeat top left;
    background-size: 100% auto;
    height: 776px;
    margin: 0 0 56px 0;
  }

  #sec3 .wrap-full .tab-link {
    position: absolute;
    top: 55px;
    width: 55px;
    right: 51px;
    left: auto;
    display: block;
  }

  #sec3 .wrap-full .tab-link .toggle-link__item {
    margin-bottom: 5px;
  }

  #sec3 .wrap-full .tab-link .toggle-link__item::after {
    top: 0;
    left: 0%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }

  #sec3 .wrap-full .tab-link .toggle-link__item.active img {
    transform: translateX(-28px);
  }

  #sec3 .wrap-full .inner {
    padding: 35px 166px 0 76px;
  }

  #sec3 .wrap-full .inner h3 {
    position: absolute;
    top: 90px;
    right: 176px;
    margin-bottom: 0;
  }

  #sec3 .wrap-full .inner .tab-photo {
    margin-bottom: -53px;
    width: 671px;
  }

  #sec3 .wrap-full .inner .tab-photo .price {
    font-size: 20px;
    background-size: 100% 100%;
    width: 243px;
    height: 82px;
    line-height: 80px;
    text-align: center;
    bottom: 38px;
    right: 17px;
    transform: translateX(0);
    left: auto;
  }

  #sec3 .wrap-full .inner .tab-photo .price span {
    font-size: 24px;
  }

  #sec3 .wrap-full .inner .tab-text {
    width: 611px;
    padding: 24px 10px 34px 56px;
  }

  #sec3 .wrap-full .inner .bnr__shared {
    width: 358px;
    margin: 0 auto;
  }

  #sec3 .bnr {
    width: 420px;
    margin-left: auto;
    margin-right: auto;
  }

  #sec3 .bnr a {
    padding: 39px 0;
  }
}

#sec4 {
  position: relative;
  z-index: 3;
  padding-top: 12vw;
  padding-bottom: 15vw;
}

#sec4::after {
  content: "";
  background: url(../img/menu/sec4_bg02.png) no-repeat bottom left;
  background-size: 100% auto;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 147vw;
  z-index: -1;
  height: 697px;
}

#sec4 .photo-1 {
  position: relative;
  z-index: 2;
  margin-bottom: 8vw;
}

#sec4 .box {
  position: relative;
}

#sec4 .box::after {
  content: "";
  position: absolute;
  top: 4vw;
  left: -21vw;
  z-index: -1;
  background: url(../img/menu/sec4_bg01.png) no-repeat center top;
  background-size: 100% 100%;
  right: -24vw;
  bottom: -24vw;
}

#sec4 .box h2 {
  width: 52vw;
  margin-bottom: 5vw;
}

#sec4 .box .text {}

#sec4 .photo-2 {
  margin: 0 -18vw -19vw;
}

#sec4 .bnrGroup {
  position: relative;
  z-index: 2;
}

#sec4 .bnrGroup .bnr__shared {}

#sec4 .bnrGroup .bnr__shared+.bnr__shared {
  margin-top: 5vw;
}

@media screen and (min-width: 768px) {
  #sec4 {
    padding-top: 134px;
    padding-bottom: 0;
    margin-bottom: -14px;
  }

  #sec4::after {
    width: 1123px;
    height: 697px;
    bottom: 0;
  }

  #sec4 .photo-1 {
    width: 591px;
    position: absolute;
    top: -67px;
    right: 27px;
    margin-bottom: 0;
  }

  #sec4 .box {
    padding-left: 42px;
  }

  #sec4 .box::after {
    background: url("../img/menu/sec4_bg01.png") no-repeat center top;
    background-size: 100% 100%;
    top: 70px;
    left: -99px;
    width: 729px;
    bottom: -102px;
  }

  #sec4 .box h2 {
    width: 320px;
    margin-bottom: 26px;
  }

  #sec4 .box .text {
    width: 427px;
  }

  #sec4 .photo-2 {
    width: 761px;
    margin: 0 0 0 -140px;
  }

  #sec4 .bnrGroup {
    position: absolute;
    bottom: 114px;
    right: 0;
  }

  #sec4 .bnrGroup .bnr__shared {
    width: 420px;
  }

  #sec4 .bnrGroup .bnr__shared+.bnr__shared {
    margin-top: 20px;
  }
}

#sec5 {
  position: relative;
  z-index: 3;
  padding: 15vw 0 15vw;
}

#sec5::before,
#sec5::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#sec5::before {
  background: url("../img/menu/sec5_bg.jpg") no-repeat center center;
  background-size: cover;
  z-index: -1;
  height: 601px;
}

#sec5::after {
  background: url("../img/index/bg_wood.jpg") repeat center top;
  height: 34vw;
  z-index: -1;
  bottom: 0;
  top: auto;
}

#sec5 .wrap {
  max-width: 701px;
}

#sec5 .sec5__tel {
  margin-bottom: 5vw;
}

@media screen and (min-width: 768px) {
  #sec5 {
    padding: 64px 0 101px;
  }

  #sec5::before {
    background: url("../img/menu/sec5_bg.jpg") no-repeat center center;
    background-size: cover;
    height: 601px;
  }

  #sec5::after {
    height: 200px;
    bottom: 0;
    top: auto;
  }

  #sec5 .wrap {
    max-width: 701px;
  }

  #sec5 .sec5__tel {
    margin-bottom: 18px;
  }
}


/* 追加 */
.tyou_m {
  margin: 10px 0 0 -50px !important;
}

@media screen and (min-width: 1300px) and (max-width: 1599px) {
  #sec2 h2 {
    width: 40%;
    margin-bottom: -54px;
  }

  #sec2 .catch {
    width: 21%;
    height: 179px;
    top: 11%;
    right: 26%;
  }

  #sec2 .note {
    top: 23%;
    right: 33%;
  }

  #sec2 .photo-1 {
    width: 53%;
    top: 9%;
    left: 12%;
    margin: 0;
  }

  #sec2 .photo-2 {
    width: 46%;
    margin-left: -149px;
    margin-bottom: 0;
  }

  #sec2 .photo-3 {
    width: 45%;
    left: 28%;
  }

  #sec2 .photo-4 {
    width: 47%;
    left: calc(50% + 202px);
  }

  #sec2 .photo-5 {
    width: 58%;
    margin: 0 0 35px -139px;
  }

  #sec2 .photo-6 {
    width: 45%;
    top: 67%;
    left: 48%;
    margin: 0;
  }

  #sec2::after {
    height: 87%;
  }
}


@media screen and (min-width: 768px) and (max-width: 1299px) {
  #sec2 h2 {
    width: 40%;
    margin-right: 0;
    margin-bottom: -54px;
  }

  #sec2 .note {
    top: 23%;
    right: 40%;
  }

  #sec2 .catch {
    width: 21%;
    height: 179px;
    top: 11%;
    right: 33%;
  }

  #sec2 .photo-1 {
    width: 49%;
    top: 9%;
    left: 8%;
    margin: 0;
  }

  #sec2 .photo-2 {
    width: 39%;
    margin-left: -85px;
    margin-bottom: 0;
  }

  #sec2 .photo-3 {
    width: 41%;
    left: 26%;
  }

  #sec2 .photo-4 {
    width: 44%;
    left: calc(50% + 152px);
  }

  #sec2 .photo-5 {
    width: 53%;
    margin: 0 0 35px -87px;
  }

  #sec2 .photo-6 {
    width: 42%;
    top: 69%;
    left: 45%;
    margin: 0;
  }

  #sec2::after {
    height: 85%;
  }
}

/* スマホ表示時、ボタンを他の要素より前面に表示する */
@media screen and (max-width: 767px) {
  #sec3 .tab-content .bnr__shared {
    position: relative !important;
    z-index: 10 !important;
    pointer-events: auto !important; /* タップイベントを確実に有効化 */
  }
}