/*# sourceURL=shared/css/dinner.css */
/*@ sourceURL=shared/css/dinner.css */
#header #key-box {
  background: url("../img/shared/bg2.jpg");
  margin-bottom: 0;
}
#sec1 {
  position: relative;
  padding: 20vw 0 47vw;
}
#sec1::before {
  content: "";
  background: url("../img/dinner/sec2_bg1_sp.png") no-repeat center bottom/100%
    auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: -1px;
  left: 0;
  z-index: -1;
}
#sec1::after {
  content: "";
  background: url("../img/dinner/sec1_line.png") no-repeat center bottom/100%
    auto;
  position: absolute;
  top: 0;
  right: -30vw;
  bottom: 0;
  left: -34vw;
  z-index: -2;
}
#sec1 .set1 {
  position: relative;
  padding-bottom: 10vw;
}
#sec1 .set1::before {
  content: "";
  background: url("../img/dinner/sec1_deco.png") no-repeat right top/100% auto;
  position: absolute;
  top: -21vw;
  right: -8vw;
  left: 35%;
  bottom: 0;
  z-index: -1;
}
#sec1 .set1 .photo {
  width: 75%;
}
#sec1 .set1 h2 {
  position: absolute;
  top: 8vw;
  right: -1vw;
  width: 21%;
}
#sec1 .set2 .photo {
  margin-top: 8vw;
}
#sec2 {
  background: url("../img/shared/bg2.jpg");
  padding-bottom: 20vw;
  color: #fff;
  position: relative;
}
#sec2::before {
  content: "";
  background: url("../img/index/sec2_deco1_sp.png") no-repeat left top/100% auto;
  position: absolute;
  width: 47.9%;
  top: -30vw;
  left: 0;
  bottom: 0;
}
#sec2::after {
  content: "";
  background: url("../img/dinner/sec2_deco3.png") no-repeat left bottom/100%
    auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 4vw;
  left: -20vw;
}
#sec2 .group::before {
  content: "";
  background: url("../img/dinner/sec2_deco2.png") no-repeat right top/100% auto;
  position: absolute;
  top: -2.5vw;
  right: 0;
  bottom: 0;
  left: 20%;
}
#sec2 .set {
  position: relative;
  z-index: 2;
}
#sec2 .set .price-box {
  margin-bottom: 7vw;
}
#sec2 .set .price-box dt {
  font-size: 6.5vw;
  letter-spacing: 0.02em;
  margin-bottom: 5vw;
}
#sec2 .set .price-box dd {
  font-size: 4vw;
  letter-spacing: 0.02em;
}
#sec2 .set .price-box dd span {
  font-size: 6vw;
  letter-spacing: 0.02em;
}
#sec2 .set1 {
  padding-bottom: 15vw;
}
#sec2 .set1 .photo1 {
  margin: 0 -8vw;
}
#sec2 .set1 .photo2 {
  margin: -23vw 0 0px 45vw;
  width: 45%;
}
#sec2 .set1 .note {
  margin: 3vw 0 3vw;
}
#sec2 .set2 .photo {
  margin: 0 -8vw -8vw;
  position: relative;
  z-index: 1;
}
#sec2 .set2 .js .slick-dots button {
  background: #a2a2a2;
}
#sec2 .set2 .js .slick-dots .slick-active button {
  background: #d4b288;
}
#sec2 .set2 .price-box {
  text-align: center;
  margin: 10vw 0 7vw;
}
#sec3 {
  background: url("../img/dinner/sec2_bg2.png") no-repeat center top/200% auto;
  padding: 35vw 0 20vw;
  color: #210c02;
  position: relative;
}
#sec3::before {
  content: "";
  background: url("../img/shared/bg6.jpg");
  position: absolute;
  top: 82vw;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#sec3 h2 {
  position: absolute;
  top: 14vw;
  left: 2%;
  width: 40%;
  z-index: 2;
}
#sec3 .note {
  color: #000;
}
#sec3 .photo {
  margin: 13vw 0 8vw 20%;
}
#sec3 .price-box {
  margin-bottom: 7vw;
  text-align: center;
}
#sec3 .price-box dt {
  font-size: 6.5vw;
  letter-spacing: 0.02em;
  margin: 0 auto 5vw;
  white-space: nowrap;
  writing-mode: horizontal-tb;
}
#sec3 .price-box dd {
  font-size: 4vw;
  letter-spacing: 0.02em;
}
#sec3 .price-box dd span {
  font-size: 6vw;
  letter-spacing: 0.02em;
}
#sec3 .txt2 {
  border: 1px solid;
  margin-bottom: 5vw;
  padding: 4vw;
}
#sec4 {
  padding: 20vw 0 31vw;
  background: url("../img/dinner/sec5_bg.png") no-repeat center bottom/200% auto;
  position: relative;
}
#sec4::before {
  content: "";
  background: url("../img/dinner/sec4_deco.png") no-repeat left bottom/100% auto;
  position: absolute;
  top: 0;
  left: -4%;
  right: 34%;
  bottom: 25vw;
  z-index: -1;
}
#sec4 h2 {
  margin: 0 -5vw;
}
#sec4 .note {
  margin: 8vw 0 10vw;
}
#sec4 .js .slick-prev {
  left: -2%;
  bottom: -19vw;
}
#sec4 .js .slick-next {
  left: 13%;
  bottom: -19vw;
}
#sec4 .js .sl-fd .item .js-txt {
  color: #220f04;
  margin-top: 9vw;
}
#sec4 .js .sl-fd .item .js-txt h3 {
  font-size: 6.5vw;
  letter-spacing: 0.02em;
  margin-bottom: 7vw;
}
#sec4 .js .sl-fd .item .js-txt .price-box {
  font-size: 4vw;
  letter-spacing: 0.02em;
  margin-bottom: 7vw;
}
#sec4 .js .sl-fd .item .js-txt .price-box span {
  font-size: 6vw;
  letter-spacing: 0.02em;
}
#sec4 .js .sl-fd .item .js-txt .txt {
  color: #210c02;
}
#sec4 .js .sl-thumb {
  margin: 5vw 0 0;
  position: relative;
  right: -25vw;
}
#sec4 .js .sl-thumb li {
  padding: 0 5px;
  cursor: pointer;
}
#sec4 .js .sl-thumb li span {
  display: block;
  position: relative;
}
#sec4 .js .sl-thumb li span::before {
  content: "";
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s ease;
}
#sec4 .js .sl-thumb .slick-current li span::before {
  opacity: 1;
  visibility: visible;
}
#sec4 .btn-popup {
  margin: 10vw 0 0;
}
#sec5 {
  background: url("../img/dinner/sec5_deco2.png") no-repeat left bottom/60% auto,
    url("../img/shared/bg6.jpg");
  padding: 0 0 20vw;
  color: #210c02;
  position: relative;
}
#sec5::before {
  content: "";
  background: url("../img/dinner/sec5_deco1.png") no-repeat right top/100% auto;
  position: absolute;
  top: 26vw;
  right: -10vw;
  left: 10%;
  bottom: 0;
}
#sec5 .item1 {
  position: relative;
  margin-bottom: 15vw;
}
#sec5 .item1::before {
  content: "";
  background: url("../img/dinner/sec5_line.png") no-repeat left top/100% auto;
  position: absolute;
  top: 125vw;
  right: -40vw;
  left: 46%;
  height: 60vw;
}
#sec5 .item1 .js .slick-dots .slick-active button {
  background: #210c02;
}
#sec5 .item1 .js .slick-dots button {
  background: #a2a2a2;
}
#sec5 .item1 h2 {
  text-align: center;
  margin-top: 10vw;
}
#sec5 .item1 h2 img {
  width: 45%;
}
#sec5 .item2 .txt {
  margin-top: 7vw;
}
#sec5 .item3 .btn-popup {
  margin: 10vw 0 0;
}
#sec6 {
  padding: 10px;
}
#sec6 .gr-bnr li {
  position: relative;
}
#sec6 .gr-bnr li:first-child {
  margin-bottom: 10px;
}
#sec6 .gr-bnr li h3 {
  position: absolute;
  left: calc(50% - 115px);
  /* right: 0px; */
  bottom: 0;
  width: 65%;
}
@media screen and (min-width: 768px) {
  #header {
    padding-bottom: 0;
  }
  #sec1 {
    padding: 112px 0 308px;
  }
  #sec1::before {
    background: url("../img/dinner/sec2_bg1.png") no-repeat center bottom/100%
      auto;
  }
  #sec1::after {
    background: url("../img/dinner/sec1_line.png") no-repeat;
    width: 2500px;
    height: 1763px;
    top: -231px;
    right: auto;
    bottom: auto;
    left: calc(50% - 1250px);
  }
  #sec1 .set1 {
    padding-bottom: 166px;
  }
  #sec1 .set1::before {
    background: url("../img/dinner/sec1_deco.png") no-repeat;
    width: 571px;
    height: 577px;
    top: -112px;
    right: -246px;
    left: auto;
    bottom: auto;
  }
  #sec1 .set1 .photo {
    width: auto;
    margin-left: -30px;
  }
  #sec1 .set1 h2 {
    top: 195px;
    right: -22px;
    width: auto;
  }
  #sec1 .set2 {
    position: relative;
    min-height: 540px;
  }
  #sec1 .set2 .photo {
    margin: 0 -184px 0 533px;
    height: 347px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1368px) {
  #sec1 .set2 .photo {
    margin-right: calc(-50vw + 50%);
  }
}
@media screen and (min-width: 768px) {
  #sec1 .set2 .txt {
    position: absolute;
    top: -66px;
    right: 549px;
    height: 488px;
    line-height: 50px;
  }
}
@media screen and (min-width: 768px) {
  #sec2 {
    padding: 1px 0 81px;
  }
  #sec2::before {
    background: url("../img/index/sec2_deco1.png") no-repeat;
    height: 959px;
    width: 769px;
    top: -570px;
    left: calc(50% - 897px);
    bottom: auto;
  }
  #sec2::after {
    background: url("../img/dinner/sec2_deco3.png") no-repeat;
    width: 1755px;
    height: 963px;
    top: auto;
    right: calc(50% - 539px);
    bottom: -58px;
    left: auto;
  }
  #sec2 .group::before {
    background: url("../img/dinner/sec2_deco2.png") no-repeat;
    width: 888px;
    height: 894px;
    top: -63px;
    bottom: auto;
    left: auto;
  }
  #sec2 .set .price-box {
    margin-bottom: 0;
  }
  #sec2 .set .price-box dt {
    font-size: 35px;
    margin-bottom: 35px;
  }
  #sec2 .set .price-box dd {
    font-size: 20px;
  }
  #sec2 .set .price-box dd span {
    font-size: 30px;
  }
  #sec2 .set1 {
    padding-bottom: 23px;
  }
  #sec2 .set1 h2 {
    position: absolute;
    top: 166px;
    left: -24px;
  }
  #sec2 .set1 .photo1 {
    margin: -358px -158px 0 393px;
  }
  #sec2 .set1 .photo2 {
    margin: -179px 0 0 460px;
    width: auto;
  }
  #sec2 .set1 .note {
    margin: -112px 0 47px 86px;
  }
  #sec2 .set1 .price-box {
    margin: 0 0 0 88px;
  }
  #sec2 .set1 .price-box dd {
    margin-left: 7px;
  }
  #sec2 .set1 .txt {
    margin: 32px 0 0 131px;
  }
  #sec2 .set2 .photo {
    margin: 0 0 0 -391px;
  }
  #sec2 .set2 .js {
    width: 600px;
    margin: -285px -100px 0 auto;
  }
  #sec2 .set2 .js .slick-dots {
    margin-top: 22px;
  }
  #sec2 .set2 .js .slick-dots button {
    width: 15px;
    height: 15px;
  }
  #sec2 .set2 .price-box {
    text-align: center;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
    position: absolute;
    top: 284px;
    right: 7px;
  }
  #sec2 .set2 .txt {
    width: 460px;
    margin: -171px 0 0 -29px;
  }
}
@media screen and (min-width: 768px) {
  #sec3 {
    background: url("../img/dinner/sec2_bg2.png") no-repeat center top/100% auto;
    padding: 255px 0 90px;
  }
  #sec3::before {
    top: 655px;
    right: calc(50% - 366px);
    left: calc(50% - 580px);
  }
  #sec3 h2 {
    top: -2px;
    left: -111px;
    width: auto;
  }
  #sec3 .photo {
    margin: 47px -128px 0 178px;
    height: 670px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1256px) {
  #sec3 .photo {
    margin-right: calc(-50vw + 50%);
  }
}
@media screen and (min-width: 768px) {
  #sec3 .price-box {
    margin-bottom: 0;
    position: absolute;
    top: 507px;
    left: 3px;
    width: -moz-fit-content;
    width: fit-content;
  }
  #sec3 .price-box dt {
    font-size: 35px;
    margin: 0 auto 40px;
    writing-mode: tb;
  }
  #sec3 .price-box dd {
    font-size: 20px;
  }
  #sec3 .price-box dd span {
    font-size: 30px;
  }
}
@media screen and (min-width: 768px) {
  #sec3 .gr {
    display: flex;
    justify-content: space-between;
    margin: 20px 89px 0 15px;
  }
  #sec3 .gr .txt {
    width: 380px;
  }
  #sec3 .gr .btn-link {
    margin: -39px 0 0;
  }
  #sec3 .txt2 {
    border: 1px solid;
    margin: 40px 0 0 0;
    padding: 10px;
    width: 400px;
    font-size: 14px;
    line-height: 2;
    /* display: block; */
  }
}
@media screen and (min-width: 768px) {
  #sec4 {
    padding: 132px 0 0;
    z-index: 2;
    background: none;
  }
  #sec4::before {
    background: url("../img/dinner/sec4_deco.png") no-repeat;
    width: 589px;
    height: 581px;
    top: auto;
    left: auto;
    right: calc(50% + 214px);
    bottom: 210px;
  }
  #sec4 .wrap {
    max-width: 1240px;
    padding: 0 20px;
  }
  #sec4 h2 {
    margin: 0;
    text-align: center;
  }
  #sec4 .note {
    margin: 34px 0 38px;
  }
  #sec4 .js .slick-prev {
    left: 50px;
    bottom: -152px;
  }
  #sec4 .js .slick-next {
    left: 150px;
    bottom: -152px;
  }
  #sec4 .js .sl-fd .item {
    display: flex !important;
  }
  #sec4 .js .sl-fd .item .js-img {
    flex: 1;
    height: 540px;
  }
  #sec4 .js .sl-fd .item .js-txt {
    width: 380px;
    margin: 65px 28px 0 72px;
  }
  #sec4 .js .sl-fd .item .js-txt h3 {
    font-size: 35px;
    margin-bottom: 32px;
  }
  #sec4 .js .sl-fd .item .js-txt .price-box {
    font-size: 20px;
    margin-bottom: 43px;
    line-height: 47px;
  }
  #sec4 .js .sl-fd .item .js-txt .price-box span {
    font-size: 30px;
  }
  #sec4 .js .sl-fd .item .js-txt .txt {
    color: #210c02;
  }
  #sec4 .js .sl-thumb {
    margin: 50px 20px 0 264px;
    right: 0;
  }
  #sec4 .js .sl-thumb li {
    padding: 0 10px;
  }
  #sec4 .js .sl-thumb li img {
    width: 100%;
    height: 140px;
    -o-object-fit: cover;
    object-fit: cover;
  }
  #sec4 .js .sl-thumb li:hover {
    opacity: 0.8;
  }
  #sec4 .btn-popup {
    margin: 85px auto 0;
  }
}
@media screen and (min-width: 768px) {
  #sec5 {
    background: url("../img/dinner/sec5_deco2.png") no-repeat left bottom;
    padding: 15.8vw 0 94px;
  }
  #sec5::before {
    background: url("../img/dinner/sec5_deco1.png") no-repeat;
    width: 793px;
    height: 983px;
    top: 8.5vw;
    right: auto;
    left: calc(50% + 200px);
    bottom: auto;
  }
  #sec5::after {
    content: "";
    background: url("../img/shared/bg6.jpg");
    position: absolute;
    top: 15vw;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -2;
  }
  #sec5 .group::after {
    content: "";
    background: url("../img/dinner/sec5_bg.png") no-repeat center top/100% auto;
    position: absolute;
    top: -10vw;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
  #sec5 .item1 {
    margin-bottom: 0;
  }
  #sec5 .item1::before {
    background: url("../img/dinner/sec5_line.png") no-repeat;
    width: 831px;
    top: -125px;
    right: calc(50% - 1250px);
    left: auto;
    height: 566px;
  }
  #sec5 .item1 .js {
    margin: 0 260px 0 -132px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1264px) {
  #sec5 .item1 .js {
    margin-left: calc(-50vw + 50%);
  }
}
@media screen and (min-width: 768px) {
  #sec5 .item1 .js .sl {
    height: 612px;
  }
}
@media screen and (min-width: 768px) {
  #sec5 .item1 .js .slick-dots {
    margin-top: 25px;
  }
  #sec5 .item1 .js .slick-dots button {
    width: 15px;
    height: 15px;
  }
}
@media screen and (min-width: 768px) {
  #sec5 .item1 h2 {
    text-align: left;
    margin-top: 0;
    position: absolute;
    top: -141px;
    right: -44px;
  }
  #sec5 .item1 h2 img {
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  #sec5 .item2 {
    display: flex;
    align-items: flex-end;
    flex-direction: row-reverse;
  }
  #sec5 .item2 .photo {
    margin: -165px -99px 0 0;
    height: 330px;
    flex: 1;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  #sec5 .item2 .photo {
    margin-right: calc(-50vw + 50%);
  }
}
@media screen and (min-width: 768px) {
  #sec5 .item2 .txt {
    margin: 0 117px -44px 51px;
    width: 531px;
    line-height: 50px;
  }
}
@media screen and (min-width: 768px) {
  #sec5 .item3 .btn-popup {
    margin: 108px auto 0;
  }
}
@media screen and (min-width: 768px) {
  #sec6 .gr-bnr {
    display: flex;
  }
  #sec6 .gr-bnr li {
    width: calc(50% - 5px);
  }
  #sec6 .gr-bnr li:first-child {
    margin-right: 5px;
    margin-bottom: 0;
  }
  #sec6 .gr-bnr li:last-child {
    margin-left: 5px;
  }
  #sec6 .gr-bnr li .photo img {
    width: 100%;
    height: auto;
  }
  #sec6 .gr-bnr li h3 {
    width: auto;
  }
  #sec6 .gr-bnr li h3 {
    position: absolute;
    left: calc(50% - 235px);
    /* right: 0px; */
    bottom: 0;
    width: 65%;
  }
}
@media screen and (max-width: 1270px) and (min-width: 768px) {
  #sec3 h2 {
    margin-left: calc(-50vw + 50% + 130px);
  }
}
@media screen and (max-width: 1199px) and (min-width: 768px) {
  #sec5 .item1 h2 {
    right: calc(-50vw + 50% + 30px);
  }
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  #sec2::before {
    top: -520px;
  }
}
