:root {
  --wrapPadding: 5.3vw;
}

.block dl:after {
  display: none !important;
}

.slick-dots {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  bottom: -12px;
  gap: 9px;
  justify-content: center;
}
.slick-dots button {
  display: none;
}
.slick-dots li {
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin: 0;
  background: #000;
  cursor: pointer;
}
.slick-dots li.slick-active {
  background: #be0900;
}

#bnr {
  background: url("../img/shared/line.png");
  background-size: 70vw auto;
  padding: 12vw 0 30vw;
  margin: 0 0 -8vw;
}
#bnr .list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7.2vw;
}
#bnr .list li {
  width: 64.53vw;
  position: relative;
}
#bnr .list li .balloon {
  position: absolute;
  width: 45.73vw;
  bottom: -12vw;
  right: -8.8vw;
}
#bnr .list li a {
  background: url("../img/lunch/bnr_bg.png") no-repeat center/100% auto;
  display: block;
  text-decoration: none;
  position: relative;
  height: 40vw;
  box-sizing: border-box;
  padding: 15vw 0 0 9.2vw;
  font-size: 5.3vw;
  line-height: 1.5;
  letter-spacing: 0.15em;
}
#bnr .list li a:after {
  content: "";
  position: absolute;
  right: 10vw;
  background: url("../img/lunch/bnr_arrow.png") no-repeat center/100% auto;
  width: 4.93vw;
  height: 4.93vw;
  top: 16.53vw;
}
#bnr .list li:nth-child(2) a {
  padding-left: 12vw;
}

#key .key_txt {
  position: absolute;
  bottom: 30%;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
}

#sec1 {
  padding: 15vw 0 0;
  position: relative;
}
#sec1 .deco {
  position: absolute;
  top: 24.13vw;
  right: 0;
  width: 40.4vw;
}
#sec1 .row {
  display: flex;
  justify-content: center;
  gap: 4.4vw;
  align-items: center;
}
#sec1 .row .icon {
  width: 23.6vw;
}
#sec1 .row .time {
  background: url("../img/morning/s1_bg_ttl.png") no-repeat center/100% auto;
  height: 11vw;
  width: 55vw;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.15em;
  font-size: 6vw;
  line-height: 1.5;
}
#sec1 .img {
  margin: 3.3vw auto 0;
  width: 76.4vw;
}
#sec1 .txt {
  margin: 7vw var(--wrapPadding) 0;
}

.loopslider {
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  z-index: 2;
}
.loopslider ul {
  animation: flowing 120s linear infinite;
  transform: translateX(100%);
  display: flex;
}
.loopslider.ltr {
  flex-direction: row-reverse;
}
.loopslider.ltr ul {
  flex-direction: row-reverse;
  animation: flowing-ltr 120s linear infinite;
  transform: translateX(100%);
}

@keyframes flowing {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
#sec2 {
  margin: 15vw 0 0;
  background: url("../img/shared/line.png");
  background-size: 70vw auto;
  padding: 12vw 0 10vw;
  text-align: center;
}
#sec2 h2 {
  padding: 0 0 3vw;
  background: url("../img/morning/s2_line.png") no-repeat bottom center/100% auto;
  font-size: 9.3vw;
  line-height: 1.375;
}
#sec2 .list {
  display: inline-block;
  margin: 5vw 0 6vw;
  text-align: left;
}
#sec2 .list li {
  position: relative;
  padding: 5px 0 0 50px;
  font-size: 5vw;
  line-height: 1.5;
  letter-spacing: 0.15em;
}
#sec2 .list li span {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  width: 10.53vw;
  font-size: 5.6vw;
  line-height: 1;
  height: 9.3vw;
  background: url("../img/morning/s2_bg_ttl.png") no-repeat center/100% auto;
}
#sec2 .list li + li {
  margin-top: 3vw;
}
#sec2 .txt {
  margin: 0 var(--wrapPadding);
  text-align: left;
}
#sec2 .tit {
  margin: 0 0 -2vw;
  width: 48vw;
}
#sec2 .loopslider ul {
  animation-duration: 40s;
}
#sec2 .loopslider ul li {
  margin: 0 3vw;
  width: 40vw;
}

#sec3 {
  background: url("../img/morning/s3_deco.png") no-repeat top center/100% auto;
  margin: 15vw 0 0;
}
#sec3 h2 {
  text-align: center;
  font-size: 9.1vw;
  line-height: 1.5;
  padding: 0 0 6vw;
  background: url("../img/morning/s3_line.png") no-repeat bottom center/61.8vw auto;
}
#sec3 .txt {
  text-align: center;
  margin: 8vw 0 12vw;
}
#sec3 .row {
  position: relative;
}
#sec3 .row .deco {
  position: absolute;
  width: 32.67vw;
  top: -18vw;
  left: 0;
}
#sec3 .row .group-img {
  width: 87vw;
  margin: 0 auto;
  position: relative;
}
#sec3 .row .group-img .slick-dots {
  bottom: 0;
  right: 5vw;
  left: auto;
}
#sec3 .row .tit {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 5.6vw;
  line-height: 1.5;
  background: url("../img/morning/s3_bg_ttl.png") no-repeat left/100% auto;
  height: 11.73vw;
  width: 36.13vw;
  letter-spacing: 0.15em;
  position: relative;
  z-index: 2;
  margin: -2.5vw 0 0 8.93vw;
}
#sec3 .row .tit.tit2 {
  background-image: url("../img/morning/s3_bg_ttl2.png");
  width: 58.67vw;
  margin-top: -4.5vw;
}
#sec3 .row .tit.tit3 {
  background-image: url("../img/morning/s3_bg_ttl3.png");
  width: 40.53vw;
  margin-top: -4.5vw;
}
#sec3 .row dl {
  margin: 6vw 8.93vw 0;
}
#sec3 .row dl dt {
  font-size: 7vw;
  letter-spacing: 0.15em;
  line-height: 1.5;
}
#sec3 .row dl dd {
  font-size: 5.6vw;
  line-height: 1.5;
  margin: 1vw 0 0;
  letter-spacing: 0.15em;
  text-align: right;
}
#sec3 .row .txt {
  margin: 3vw 0 0 8.93vw;
}
#sec3 .row.row {
  margin-top: 12vw;
}

#sec4 {
  margin: 12vw 2.67vw 0;
}
#sec4 h2 {
  margin: 0 2.67vw 8vw;
  position: relative;
  padding: 0 0 3vw;
}
#sec4 h2::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("../img/shared/ttl_border.png");
  height: 2px;
}
#sec4 table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 3px;
  font-size: 12px;
  letter-spacing: 0;
}
#sec4 table tr th {
  width: 257px;
  box-sizing: border-box;
  text-align: left;
}
#sec4 table tr th span {
  display: block;
  border: 2px solid #e8e7e2;
  border-radius: 5px;
  line-height: 2;
  padding: 11px 0 11px 11px;
  letter-spacing: 0;
}
#sec4 table tr th.empty span {
  border-color: transparent;
  padding: 12px 0 12px 15px;
}
#sec4 table tr .price1 {
  width: 100px;
  box-sizing: border-box;
}
#sec4 table tr .price1 span {
  text-align: right;
  background: #f9f6f0;
  border-radius: 5px;
  letter-spacing: 0.15em;
  font-weight: bold;
  line-height: 2;
  padding: 13px 12px 13px 0;
  box-sizing: border-box;
  display: block;
}
#sec4 table tr .price2 {
  width: 89px;
  text-align: center;
}
#sec4 table tr .price2 span {
  display: block;
  background: #eee7e1;
  border-radius: 5px;
  letter-spacing: 0.15em;
  font-weight: bold;
  line-height: 2;
  padding: 13px 0;
}
#sec4 table tr:has(.empty) .price1 span {
  text-align: center;
  padding-right: 0;
}
#sec4 table tr:has(.empty) .price1 span, #sec4 table tr:has(.empty) .price2 span {
  padding-top: 14px;
  padding-bottom: 14px;
}
#sec4 .txt {
  margin: 8vw -2vw 12vw;
  font-size: 12px;
  letter-spacing: 0;
}

#sec5 {
  position: relative;
  margin: 20vw 0 15vw;
  padding: 0 0 12vw;
}
#sec5::before {
  content: "";
  position: absolute;
  left: 2.67vw;
  right: 2.67vw;
  bottom: 0;
  top: 5.46vw;
  background: url("../img/lunch/s4_border.png") no-repeat top center/100% 100%;
}
#sec5 .inner {
  position: relative;
}
#sec5 .plus {
  margin: 0 2.67vw 0 auto;
  background: url("../img/lunch/plus.png") no-repeat top 4.4vw center/4vw auto, url("../img/lunch/s4_bg_ttl.png") no-repeat center/100% auto;
  width: 25.2vw;
  height: 24.3vw;
  box-sizing: border-box;
  text-align: center;
  font-size: 3.3vw;
  line-height: 1.6;
  padding: 10vw 0 0;
  letter-spacing: 0.15em;
  color: #fff;
}
#sec5 h2 {
  margin: 0 5.2vw 6.5vw;
  padding: 0 0 4vw 3vw;
  font-size: 4.92vw;
  line-height: 1.83;
  letter-spacing: 0.1em;
  background: url("../img/lunch/s4_line.png") no-repeat bottom center/100% auto;
}
#sec5 .price1 {
  background: url("../img/lunch/s4_bg_ttl2.png") no-repeat center/100% auto;
  height: 9.867vw;
  width: 89.3vw;
  padding: 0 6.4vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 4.2vw;
  line-height: 1.5;
  margin: 0 auto;
  box-sizing: border-box;
  letter-spacing: 0.15em;
}
#sec5 .price1 + .price1 {
  margin-top: 2vw;
}
#sec5 .txt {
  margin: 2vw 0 0;
}
#sec5 .txt2 {
  margin: 28px 9vw 0;
}
#sec5 .price {
  width: 287px;
  margin: 6vw auto 5.3vw;
}
#sec5 .price dl {
  line-height: 1.5;
  font-size: 12px;
  padding: 0 0 12px;
  box-sizing: border-box;
  border-bottom: 1px dashed #d7cbc1;
  display: flex;
  justify-content: space-between;
}
#sec5 .price dl + dl {
  margin-top: 12px;
}
#sec5 .img {
  width: 79.5vw;
  margin: 0 auto;
}
#sec5 .balloon {
  width: 61vw;
  margin: 1vw 0 -5vw auto;
}
#sec5 .btn-popup {
  position: relative;
  z-index: 2;
  width: 80.5vw;
}
#sec5 .btn-popup a {
  background-image: url("../img/morning/s5_bg_btn.png");
}