#sec1 {
  position: relative;
  padding-top: 91px;
}

#sec1::before {
  content: "";
  background: url("../img/party/sec1_bg.jpg") no-repeat top center;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  right: 0;
  height: 1080px;
  left: 0;
}

#sec1 h2 {
  margin: 0 auto 5vw;
}

#sec1 .text {
  position: relative;
  z-index: 2;
  margin-bottom: -14vw;
}

#sec1 .text p {
  line-height: 37px;
  background: url("../img/party/sec1_line_sp.png"), url("../img/party/sec1_line2.png");
  background-position: top left, bottom left;
  background-repeat: repeat, repeat-x;
  text-align: center;
  padding-top: 2px;
  padding-left: 15px;
  padding-right: 15px;
  letter-spacing: 0.01em;
}

#sec1 .text p span {
  color: #d82f08;
}

#sec1 .text p+p {
  margin-top: 30px;
}

#sec1 .photo-1 {
  position: relative;
  z-index: 1;
  margin-left: auto;
}

#sec1 .dish-1 {
  width: 101px;
  position: absolute;
  top: -112px;
  left: -3vw;
  z-index: 2;
}

#sec1 .dish-2 {
  width: 90px;
  position: absolute;
  top: 531px;
  left: -8vw;
  z-index: 2;
}

#sec1 .dish-3 {
  width: 101px;
  top: 229px;
  right: -10vw;
  position: absolute;
  z-index: 2;
}

#sec1 .box {
  position: relative;
}

#sec1 .box::before {
  content: "";
  position: absolute;
  top: -15vw;
  left: -14vw;
  background: url("../img/party/sec1_bg02.png") no-repeat center;
  background-size: 100% 100%;
  right: -16vw;
  bottom: -15vw;
}

#sec1 .box p {
  position: relative;
  z-index: 2;
  padding-left: 20px;
}

#sec1 .box p span {
  position: absolute;
  top: -1px;
  left: 0;
}

#sec1 .deco-1 {
  width: 11vw;
  position: absolute;
  top: 27vw;
  left: -2vw;
}

#sec1 .deco-2 {
  width: 13vw;
  position: absolute;
  top: -7vw;
  left: 45vw;
}

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

  #sec1::before {
    height: 1080px;
  }

  #sec1 h2 {
    width: 866px;
    margin: 0 auto 2px;
  }

  #sec1 .text {
    margin-bottom: -92px;
  }

  #sec1 .text p {
    line-height: 45px;
    background: url("../img/party/sec1_line.png"), url("../img/party/sec1_line2.png");
    background-position: top left, bottom left;
    background-repeat: repeat, repeat-x;
    text-align: center;
  }

  #sec1 .text p+p {
    margin-top: 45px;
  }

  #sec1 .photo-1 {
    width: 482px;
    margin-right: -18px;
    margin-left: auto;
    margin-bottom: -265px;
  }

  #sec1 .dish-1 {
    width: 239px;
    top: -145px;
    left: -137px;
  }

  #sec1 .dish-2 {
    width: 214px;
    top: 548px;
    left: -66px;
  }

  #sec1 .dish-3 {
    width: 233px;
    top: 369px;
    right: -81px;
  }

  #sec1 .box {
    width: 480px;
    padding-left: 116px;
  }

  #sec1 .box::before {
    width: 677px;
    height: 317px;
    top: -83px;
    left: -12px;
    background: url("../img/party/sec1_bg02.png") no-repeat center;
    background-size: 100% auto;
  }

  #sec1 .box p {
    padding-left: 20px;
    line-height: 45px;
  }

  #sec1 .box p span {
    top: 0px;
    left: 0;
  }

  #sec1 .deco-1 {
    width: 85px;
    top: 346px;
    left: 25px;
  }

  #sec1 .deco-2 {
    width: 86px;
    top: -13px;
    left: calc(50% - 42px);
  }
}

#sec2 {
  position: relative;
  z-index: 3;
  padding-top: 20vw;
}

#sec2::before {
  content: "";
  background: url(../img/index/sec4_bg_sp.png) no-repeat top center;
  background-size: 100% 100%;
  height: 100%;
  position: absolute;
  top: 32vw;
  left: 0;
  right: 0;
}

#sec2 h2 {
  margin: 0 -8vw 5vw 0;
}

#sec2 .list-title {
  position: relative;
  margin: 0 auto 5vw;
}

#sec2 .list-title .item-1 {
  width: 100%;
}

#sec2 .list-title .item-2 {
  width: 46vw;
  position: relative;
  margin: 0 auto;
}

#sec2 h3 {
  margin: 0 auto 8vw;
}

#sec2 .box {
  margin: 0 auto;
  background: url("../img/party/caro.jpg");
  box-shadow: 11px 10px 3px rgba(0, 0, 0, 0.13);
  border-radius: 20px;
  padding: 10vw 5vw;
  position: relative;
}

#sec2 .box::before,
#sec2 .box::after {
  content: "";
  position: absolute;
  background: url("../img/party/sec2_stick01.png") no-repeat center;
  background-size: 100% auto;
  width: 25vw;
  height: 20vw;
}

#sec2 .box::before {
  top: -8vw;
  left: -8vw;
}

#sec2 .box::after {
  bottom: -7vw;
  right: -9vw;
}

#sec2 .box .ttl {
  position: absolute;
  top: -27px;
  right: -33px;
  z-index: 2;
  width: 104px;
  height: 74px;
  text-align: center;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
}

#sec2 .box .ttl span {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 2;
  line-height: 1;
  transform: translateY(-50%);
}

#sec2 .box h4 {
  color: #d82f08;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  padding-bottom: 5vw;
}

#sec2 .box .list-info {
  margin: 0 auto;
  background: url("../img/party/sec2_dotted.png") repeat-x top left;
  padding-top: 7vw;
  line-height: 30px;
  color: #270900;
  gap: 10px;
  text-align: center;
}

#sec2 .box .list-info .icon {
  margin: 0 10px;
}

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

  #sec2::before {
    background: url("../img/party/sec2_bg.png") no-repeat center;
    background-size: 100% 100%;
    height: 991px;
    top: 177px;
    left: 0;
    right: 0;
  }

  #sec2 h2 {
    width: 826px;
    margin: 0 auto 1px;
  }

  #sec2 .list-title {
    width: 886px;
    margin: 0 auto 46px;
  }

  #sec2 .list-title .item-1 {
    width: 578px;
  }

  #sec2 .list-title .item-2 {
    width: 297px;
    position: absolute;
    top: 0;
    right: 24px;
  }

  #sec2 h3 {
    width: 525px;
    margin: 0 auto 17px;
  }

  #sec2 .box {
    width: 750px;
    margin: 0 auto;
    border-radius: 52px;
    padding: 33px 0 26px;
  }

  #sec2 .box::before,
  #sec2 .box::after {
    background: url("../img/party/sec2_stick01.png") no-repeat center;
    background-size: 100% auto;
    width: 137px;
    height: 117px;
  }

  #sec2 .box::before {
    top: -41px;
    left: -58px;
  }

  #sec2 .box::after {
    bottom: -28px;
    right: -38px;
  }

  #sec2 .box .ttl {
    top: -30px;
    right: -43px;
    width: 155px;
    height: 103px;
    font-size: 24px;
  }

  #sec2 .box .ttl span {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 2;
    transform: translateY(-50%);
  }

  #sec2 .box h4 {
    font-size: 24px;
    padding-bottom: 12px;
  }

  #sec2 .box .list-info {
    width: 598px;
    padding-top: 25px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    line-height: 30px;
    gap: 10px;
    font-size: 20px;
    text-align: left;
  }

  #sec2 .box .list-info .icon {
    margin: 0 16px 0 20px;
  }
}

#sec3 {
  position: relative;
  z-index: 4;
  padding-top: 25vw;
  padding-bottom: 25vw;
}

#sec3 h2 {
  width: 80vw;
  margin: 0 auto -5vw;
  position: relative;
  z-index: 4;
}

#sec3 .photo-1 {
  height: 60vw;
  position: relative;
  z-index: 1;
  margin-bottom: -7vw;
}

#sec3 .photoGroup {
  position: relative;
  z-index: 3;
  margin-bottom: 8vw;
}

#sec3 .photoGroup .photo-2 {
  width: 59vw;
  margin-left: -7vw;
}

#sec3 .photoGroup .photo-3 {
  width: 50vw;
  position: absolute;
  top: 0;
  right: -7vw;
}

#sec3 .box {
  position: relative;
  z-index: 3;
  padding: 0;
}

#sec3 .box::before {
  content: "";
  background: url("../img/party/sec3_bg01.png") no-repeat center;
  background-size: 100% 100%;
  position: absolute;
  top: -21vw;
  left: -16vw;
  right: -13vw;
  z-index: -1;
  bottom: -18vw;
}

#sec3 .box dl {
  display: flex;
  align-items: center;
  line-height: 30px;
  font-weight: 700;
  color: #d82f08;
  margin-bottom: 0;
  background: url("../img/party/sec2_dotted.png") repeat-x bottom left;
  padding-bottom: 5vw;
  justify-content: center;
  gap: 3vw;
}

#sec3 .box dl dt {
  font-size: 18px;
}

#sec3 .box dl dd {
  font-size: 25px;
}

#sec3 .box dl dd span {
  font-size: 30px;
}

#sec3 .box .list {
  padding-top: 20px;
  width: 100%;
  line-height: 35px;
  display: flex;
}

#sec3 .box .list p {
  margin-left: 0;
  min-width: 94px;
}

#sec3 .box .list ul li {
  margin-right: 20px;
  display: inline-block;
}

#sec3 .box .list ul li:nth-child(2n) {
  margin-right: 0;
}

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

  #sec3 h2 {
    width: 468px;
    margin: 0 40px -150px auto;
  }

  #sec3 .photo-1 {
    width: 900px;
    height: 600px;
    margin-left: -158px;
    margin-bottom: -75px;
  }

  #sec3 .photoGroup {
    width: 526px;
    position: absolute;
    top: 212px;
    right: -242px;
    margin-bottom: 0;
  }

  #sec3 .photoGroup .photo-2 {
    width: 462px;
    margin-left: 0;
  }

  #sec3 .photoGroup .photo-3 {
    width: 526px;
    right: 43px;
    top: 275px;
  }

  #sec3 .box {
    padding: 56px 0;
    width: 430px;
    margin-left: 127px;
  }

  #sec3 .box::before {
    width: 648px;
    height: 387px;
    top: -42px;
    left: -109px;
    right: 0;
  }

  #sec3 .box dl {
    line-height: 30px;
    margin-bottom: 31px;
    background: url("../img/party/sec2_dotted.png") repeat-x bottom left;
    padding-bottom: 28px;
    justify-content: flex-start;
    padding-left: 67px;
    gap: 16px;
  }

  #sec3 .box dl dt {
    font-size: 20px;
    text-align: center;
  }

  #sec3 .box dl dd {
    font-size: 30px;
  }

  #sec3 .box dl dd span {
    font-size: 36px;
  }

  #sec3 .box .list {
    padding-top: 0;
    padding-left: 5px;
  }

  #sec3 .box .list p {
    margin-left: 10px;
    min-width: 100px;
  }

  #sec3 .box .list ul li {
    margin-right: 11px;
  }

  #sec3 .box .list ul li:nth-child(2n) {
    margin-right: 0;
  }
}

#sec4 {
  position: relative;
  padding: 15vw 0 0vw;
}

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

#sec4::before {
  top: 7vw;
  bottom: 29vw;
  clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 98%);
  opacity: 0.1;
}

#sec4::after {
  top: -6vw;
  bottom: 25vw;
  clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%);
}

#sec4 .photo-1 {
  position: relative;
  height: 60vw;
  margin-bottom: 9vw;
}

#sec4 .box {
  position: relative;
  z-index: 2;
  padding-top: 5vw;
}

#sec4 .box::before {
  content: "";
  background: url("../img/party/sec4_bg01.png") no-repeat center;
  background-size: 100% 100%;
  position: absolute;
  width: 100%;
  top: -16vw;
  left: 0;
  bottom: -26vw;
}

#sec4 .box .inner {
  padding: 0 5vw;
}

#sec4 .box .inner h2 {
  width: 75vw;
  margin: 0 auto 2vw;
}

#sec4 .box .inner dl {
  display: flex;
  align-items: center;
  font-size: 18px;
  line-height: 30px;
  font-weight: 700;
  justify-content: center;
  padding-bottom: 5vw;
}

#sec4 .box .inner dl dt {
  font-size: 17px;
  text-align: center;
}

#sec4 .box .inner dl dd {
  font-size: 26px;
}

#sec4 .box .inner dl dd span {
  font-size: 30px;
}

#sec4 .box .inner .list {
  background: url("../img/party/sec2_dotted.png") repeat-x top left;
  padding-top: 6vw;
  font-weight: 700;
  display: flex;
}

#sec4 .box .inner .list p {
  width: 39px;
  height: 120px;
  text-align: left;
  margin-right: 18px;
}

#sec4 .box .inner .list ul {
  line-height: 35px;
}

#sec4 .box .inner .list ul li {
  margin-right: 20px;
  display: inline-block;
}

#sec4 .box .inner .list ul li:nth-child(2n) {}

#sec4 .photo-2 {
  position: relative;
  z-index: 2;
  margin: 0 -6vw;
}

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

  #sec4::before {
    top: -293px;
    bottom: -2px;
    clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 79%);
  }

  #sec4::after {
    top: -299px;
    bottom: 0;
    clip-path: polygon(0 17%, 100% 0, 100% 73%, 0 100%);
  }

  #sec4 .photo-1 {
    width: 800px;
    height: 500px;
    position: absolute;
    top: 10px;
    right: -152px;
    margin-bottom: 0;
  }

  #sec4 .box {
    width: 463px;
    margin-left: -50px;
    padding-top: 74px;
    margin-bottom: -40px;
  }

  #sec4 .box::before {
    width: 463px;
    height: 511px;
    top: -30px;
    left: 0;
  }

  #sec4 .box .inner {
    padding: 0 17px 0 17px;
  }

  #sec4 .box .inner h2 {
    width: 354px;
    margin: 0 auto 7px;
  }

  #sec4 .box .inner dl {
    font-size: 20px;
    line-height: 30px;
    padding-bottom: 19px;
    gap: 21px;
  }

  #sec4 .box .inner dl dt {
    font-size: 20px;
    text-align: center;
  }

  #sec4 .box .inner dl dd {
    font-size: 30px;
  }

  #sec4 .box .inner dl dd span {
    font-size: 36px;
  }

  #sec4 .box .inner .list {
    width: 408px;
    padding-top: 29px;
    padding-left: 39px;
    gap: 21px;
  }

  #sec4 .box .inner .list p {
    width: 22px;
    height: 120px;
    text-align: left;
    margin-right: 0;
    letter-spacing: 0px;
    line-height: 1;
  }

  #sec4 .box .inner .list ul {
    line-height: 35px;
    width: 329px;
  }

  #sec4 .box .inner .list ul li {
    margin-right: 11px;
  }

  #sec4 .box .inner .list ul li:nth-child(2n) {
    margin-right: 0;
  }

  #sec4 .photo-2 {
    width: 408px;
    margin: 0 0 0 136px;
  }
}

#sec5 {
  position: relative;
  z-index: 4;
  padding-top: 0;
  margin-bottom: -15vw;
}

#sec5 .photo-1 {
  width: 116vw;
  position: relative;
  margin-left: -6vw;
  margin-bottom: -31vw;
}

#sec5 h2 {
  position: relative;
  margin: 0 auto -6vw;
  z-index: 3;
}

#sec5 .row {
  position: relative;
  z-index: 2;
  padding-top: 10vw;
  padding-bottom: 10vw;
}

#sec5 .row::before {
  content: "";
  background: url("../img/shared/bg04.jpg");
  position: absolute;
  top: 0;
  left: -10vw;
  right: -10vw;
  bottom: 0;
}

#sec5 .row-1 {
  margin: 0 auto 10vw;
  position: relative;
  z-index: 2;
}

#sec5 .row-1 .price {
  background: url("../img/party/sec5_price.png") no-repeat center;
  background-size: 100% 100%;
  font-size: 25px;
  height: 85px;
  line-height: 85px;
  text-align: center;
  font-weight: 700;
  width: 200px;
  margin: 0 auto 5vw;
}

#sec5 .row-1 .price span {
  font-size: 30px;
}

#sec5 .row-1 .note {
  font-weight: 700;
}

#sec5 .row-2 {
  position: relative;
  z-index: 3;
}

#sec5 .row-2 h3 {
  background: url("../img/party/sec2_dotted.png"), url("../img/party/sec2_dotted.png");
  background-position: top left, bottom left;
  background-repeat: repeat-x;
  line-height: 1;
}

#sec5 .row-2 h3 span {
  display: block;
  margin: 0 auto;
  width: 66vw;
}

#sec5 .row-2 .list {
  padding-top: 10vw;
  justify-content: space-between;
}

#sec5 .row-2 .list .item {
  margin-bottom: 8vw;
}

#sec5 .row-2 .list .item h4 {
  /* background: #fff; */
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
  font-size: 20px;
  line-height: 65px;
  font-weight: 700;
  box-sizing: border-box;
  text-align: center;
  letter-spacing: 0.2em;
  height: 45px;
}

#sec5 .row-2 .list .item .list-inner {
  display: flex;
  justify-content: space-between;
  padding-top: 14px;
}

#sec5 .row-2 .list .item .list-inner ul {
  width: 55%;
}

#sec5 .row-2 .list .item .list-inner ul+ul {
  width: 42%;
}

@media screen and (min-width: 768px) {
  #sec5 {
    position: relative;
    z-index: 4;
    padding-top: 248px;
    margin-bottom: -99px;
  }

  #sec5 .photo-1 {
    width: 1269px;
    position: absolute;
    top: -367px;
    left: 0;
    margin: 0;
  }

  #sec5 h2 {
    width: 697px;
    position: relative;
    margin: 0 auto -79px;
    z-index: 3;
  }

  #sec5 .row {
    position: relative;
    z-index: 2;
    padding-top: 80px;
    padding-bottom: 75px;
  }

  #sec5 .row::before {
    content: "";
    background: url("../img/shared/bg04.jpg");
    position: absolute;
    top: 0;
    left: -100px;
    right: -100px;
    bottom: 0;
  }

  #sec5 .row-1 {
    width: 800px;
    margin: 0 auto 25px;
    display: flex;
    gap: 40px;
  }

  #sec5 .row-1 .price {
    font-size: 30px;
    height: 117px;
    line-height: 100px;
    width: 309px;
    margin: 0 0 0 21px;
    line-height: 113px;
  }

  #sec5 .row-1 .price span {
    font-size: 36px;
  }

  #sec5 .row-1 .note {
    line-height: 35px;
    padding-top: 23px;
  }

  #sec5 .row-2 {
    margin-bottom: 0;
  }

  #sec5 .row-2 h3 {}

  #sec5 .row-2 h3 span {
    width: 399px;
  }

  #sec5 .row-2 .list {
    display: flex;
    padding-top: 35px;
  }

  #sec5 .row-2 .list .item {
    width: 48%;
    display: flex;
    margin-bottom: 0;
  }

  #sec5 .row-2 .list .item h4 {
    width: 80px;
    border-top-left-radius: 40px;
    border-bottom-left-radius: 40px;
    font-size: 24px;
    line-height: 80px;
    margin-right: 42px;
    height: 260px;
    padding-top: 36px;
    border-top-right-radius: 0;
    letter-spacing: 3px;
    text-align: left;
  }

  #sec5 .row-2 .list .item .list-inner {
    width: 378px;
    padding-top: 24px;
  }

  #sec5 .row-2 .list .item .list-inner ul {
    width: 58%;
  }

  #sec5 .row-2 .list .item .list-inner ul+ul {
    width: 41%;
  }
}

#sec6 {
  padding: 25vw 0 13vw;
  background: url("../img/party/sec6_bg.jpg") no-repeat center;
  background-size: cover;
}

#sec6 .sec6__tel {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  #sec6 {
    padding: 177px 0 108px;
    background: url("../img/party/sec6_bg.jpg") no-repeat center;
    background-size: cover;
  }

  #sec6 .sec6__tel {
    width: 703px;
    margin: 0 auto;
  }
}

#sec7 {
  position: relative;
  z-index: 4;
  padding-bottom: 100px;
}

#sec7::before {
  content: "";
  background: url("../img/index/bg_wood.jpg") repeat center top;
  position: absolute;
  top: 0;
  height: 192vw;
  left: 0;
  right: 0;
  z-index: -1;
}

#sec7 .row-1 {
  position: relative;
  padding-top: 13px;
  z-index: 2;
  margin-bottom: 0;
}

#sec7 .row-1 .photo-1 {
  margin: 0 -9vw 0;
}

#sec7 .row-1 .box {
  position: relative;
}

#sec7 .row-1 .box h2 {
  margin-bottom: 5vw;
}

#sec7 .row-1 .box .text {
  color: #fff;
}

#sec7 .row-2 {
  margin-bottom: 0;
}

#sec7 .row-2 .photo-2 {
  margin: 0 -8vw 5vw;
}

#sec7 .row-2 .photo-3 {
  margin-bottom: 6vw;
}

#sec7 .row-3 {
  position: relative;
  z-index: 3;
  width: 75vw;
  margin: 0 auto;
}

#sec7 .row-3 .bnr {}

#sec7 .row-3 .bnr+.bnr {
  margin-top: 6vw;
}

@media screen and (min-width: 768px) {
  #sec7 {
    padding-bottom: 100px;
  }

  #sec7::before {
    background: url("../img/index/bg_wood.jpg") repeat center top;
    position: absolute;
    top: 0;
    height: 600px;
    left: 0;
    right: 0;
  }

  #sec7 .row-1 {
    padding-top: 13px;
    margin-bottom: 29px;
  }

  #sec7 .row-1 .photo-1 {
    width: 679px;
    margin-left: -166px;
    margin-bottom: -374px;
  }

  #sec7 .row-1 .box {
    width: 527px;
    margin-left: auto;
    margin-right: -17px;
    padding-top: 96px;
  }

  #sec7 .row-1 .box h2 {
    width: 393px;
    margin-bottom: 20px;
  }

  #sec7 .row-1 .box .text {
    line-height: 45px;
    padding-left: 11px;
  }

  #sec7 .row-2 {
    margin-bottom: -39px;
  }

  #sec7 .row-2 .photo-2 {
    width: 497px;
    margin: 0 0 0 -100px;
  }

  #sec7 .row-2 .photo-3 {
    width: 550px;
    margin-bottom: 0;
    margin-top: 18px;
  }

  #sec7 .row-3 {
    margin-bottom: 0;
    width: auto;
  }

  #sec7 .row-3 .bnr {
    width: 48%;
  }

  #sec7 .row-3 .bnr+.bnr {
    margin-top: 0;
  }
}