@charset "UTF-8";
.fnt-zen-kaku-gothic {
  font-family: "Zen Kaku Gothic New";
}

.db {
  display: block;
}

.object-cover {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: 50%;
}

.bg-para {
  width: 100%;
  position: relative;
  z-index: 1;
}
.bg-para .img-parallax {
  clip: rect(0, auto, auto, 0);
  margin-bottom: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: -1;
}
.bg-para .img-parallax img {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  object-fit: cover;
  z-index: 0;
  transform: translateZ(0);
}

.d-ttl-common {
  font-size: 9.3vw;
  line-height: 12.7vw;
  letter-spacing: 0.15em;
  color: #280d07;
}
.d-ttl-common small {
  display: block;
  font-family: "ZCOOL XiaoWei";
  color: #b1a46a;
  font-size: 5.3vw;
  line-height: 6vw;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 2vw;
}
.d-ttl-common .fz40 {
  font-size: 6.6vw;
  line-height: 9.3vw;
  letter-spacing: 0.15em;
}

.dish-info dt {
  font-size: 6.6vw;
  line-height: 9.3vw;
  letter-spacing: 0.15em;
  margin-bottom: 2vw;
}
.dish-info dt small {
  display: block;
  font-family: "ZCOOL XiaoWei";
  color: #b1a46a;
  font-size: 5.3vw;
  line-height: 6vw;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 2vw;
}
.dish-info dd {
  font-size: 6vw;
  line-height: 9.3vw;
  letter-spacing: 0.15em;
}
.dish-info dd small {
  font-size: 5.3vw;
}
.dish-info dd small small {
  font-size: 4.6vw;
}

.btn-popup {
  width: 80vw;
  margin: 0 auto;
}
.btn-popup a {
  display: block;
  background: #67806b;
  color: #fff;
  font-family: "Zen Maru Gothic";
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 22px;
  text-align: center;
  border-radius: 0 23px 0 23px;
  padding: 20px;
  position: relative;
}
.btn-popup a:after {
  content: "";
  width: 13px;
  background-image: url("../img/dinner/icon_popup.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 7vw;
}

.btn-popup.reserve a:after {
  width: 10px;
  background-image: url("../img/dinner/icon_right.png");
}

@media screen and (min-width: 768px) {
  .d-ttl-common {
    font-size: 60px;
    line-height: 85px;
  }
  .d-ttl-common small {
    font-size: 30px;
    line-height: 50px;
    margin-bottom: 16px;
  }
  .d-ttl-common .fz40 {
    font-size: 40px;
    line-height: 60px;
  }
  .dish-info dt {
    font-size: 40px;
    line-height: 60px;
    margin-bottom: 3px;
  }
  .dish-info dt small {
    font-size: 30px;
    line-height: 50px;
    margin-bottom: 11px;
  }
  .dish-info dd {
    font-size: 35px;
    line-height: 60px;
  }
  .dish-info dd small {
    font-size: 30px;
  }
  .dish-info dd small small {
    font-size: 25px;
  }
  .txt {
    line-height: 40px;
  }
  .btn-popup {
    width: 536px;
  }
  .btn-popup a {
    font-size: 25px;
    line-height: 31px;
    border-radius: 0 45px 0 45px;
    padding: 28px 30px 32px 0px;
    overflow: hidden;
    z-index: 1;
    box-sizing: border-box;
  }
  .btn-popup a:before {
    content: "";
    background: #b1a46a;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: scale(0);
    transition-property: transform;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
  }
  .btn-popup a:after {
    width: 19px;
    right: 41px;
  }
  .btn-popup a:hover:before {
    transform: scale(2);
  }
  .btn-popup.reserve a:after {
    width: 13px;
  }
}
/* popup */
.remodal-overlay {
  background: url("../img/shared/main_bg2.jpg");
}

.remodal-wrapper {
  padding: 2%;
}

.remodal {
  background: url("../img/shared/main_bg1.jpg");
  padding: 4vw 4vw 8vw;
}

.remodal-close {
  width: 35px;
  height: 35px;
  background: url("../img/dinner/close.png") no-repeat center/100%;
  position: sticky;
  top: 0;
  margin-left: auto;
}

.remodal-close:before {
  display: none;
}

.remodal-close:hover {
  opacity: 0.8;
}

.menu-popup .d-ttl-common {
  margin: 3vw 0;
}
.menu-popup .d-ttl-common small {
  margin-bottom: 0;
}
.menu-popup .note {
  font-size: 14px;
  letter-spacing: 0.2em;
  margin-bottom: 10vw;
}
.menu-popup .menulist .item {
  margin-bottom: 40px;
}
.menu-popup .menulist h3 {
  font-size: 20px;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 23px;
  margin-bottom: 20px;
  text-align: left;
}
.menu-popup .menulist h3:before {
  content: "";
  width: 15px;
  height: 1.5px;
  background: #291000;
  position: absolute;
  left: 0;
  top: 14px;
}
.menu-popup .menulist h3 .note2 {
  display: block;
  font-family: "Zen Kaku Gothic New";
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.05em;
  margin-left: -23px;
}
.menu-popup .menulist dl {
  width: 100%;
  display: table;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.05em;
  border-bottom: 1px dotted #55504e;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.menu-popup .menulist dl dt {
  display: table-cell;
  text-align: left;
  font-family: "Zen Kaku Gothic New";
}
.menu-popup .menulist dl dd {
  display: table-cell;
  text-align: right;
  white-space: nowrap;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro",
    "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  font-weight: bold;
}
.menu-popup .menulist .note3 {
  font-family: "Zen Kaku Gothic New";
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.05em;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .remodal {
    max-width: 1200px;
    padding: 40px 36px 50px;
  }
  .remodal-close {
    width: 59px;
    height: 59px;
  }
  .remodal-close:before {
    display: none;
  }
  .menu-popup {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
  }
  .menu-popup .d-ttl-common {
    margin: -14px 0 0px;
  }
  .menu-popup .d-ttl-common small {
    margin-bottom: -26px;
  }
  .menu-popup .note {
    margin-bottom: 58px;
  }
  .menu-popup .menulist {
    display: flex;
    justify-content: space-between;
  }
  .menu-popup .menulist .col {
    width: 300px;
  }
  .menu-popup .menulist .item {
    margin-bottom: 54px;
  }
  .menu-popup .menulist h3 {
    padding-left: 23px;
    margin-bottom: 23px;
  }
  .menu-popup .menulist h3:before {
    top: 16px;
  }
  .menu-popup .menulist dl {
    padding-bottom: 9px;
    margin-bottom: 9px;
  }
}
#sec1 {
  padding: 38vw 0 0vw;
  position: relative;
  z-index: 2;
}
#sec1:before {
  content: "";
  width: 30vw;
  height: 50vw;
  background-image: url("../img/dinner/sec1_deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: 2vw;
  top: 0;
  z-index: -1;
}
#sec1 .col-img {
  position: relative;
  margin-bottom: 13vw;
}
#sec1 .col-img:before {
  content: "";
  width: 34vw;
  height: 23vw;
  background-image: url("../img/dinner/sec1_deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top: -32vw;
  left: -5vw;
}
#sec1 .col-img:after {
  content: "";
  width: 42vw;
  height: 26vw;
  background-image: url("../img/dinner/sec1_deco3.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: -16vw;
  left: -5vw;
  z-index: -1;
}
#sec1 .col-img .img1 {
  padding-left: 10vw;
}
#sec1 .col-img .img2 {
  width: 100vw;
  position: absolute;
  left: -22vw;
  top: -25vw;
  z-index: 1;
}
#sec1 .col-text {
  position: relative;
  z-index: 1;
}
#sec1 .col-text h2 {
  margin-bottom: 6vw;
}
#sec1 .img3 {
  width: 80vw;
  margin: -71vw -5vw 0 auto;
}
@media screen and (min-width: 768px) {
  #sec1 {
    padding: 298px 0 227px;
  }
  #sec1:before {
    width: 291px;
    height: 555px;
    right: calc(50% - 639px);
  }
  #sec1 .wrap {
    max-width: 1200px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #sec1 .col-img {
    max-width: 560px;
    width: calc(100% - 600px);
    margin: 83px 0 0 0px;
  }
  #sec1 .col-img:before {
    width: 286px;
    height: 168px;
    top: -268px;
    left: 334px;
  }
  #sec1 .col-img:after {
    width: 337px;
    height: 185px;
    bottom: -126px;
    left: -104px;
  }
  #sec1 .col-img .img1 {
    padding-left: 0;
    width: 100%;
    height: 770px;
  }
  #sec1 .col-img .img2 {
    width: 741px;
    left: -242px;
    top: -251px;
  }
  #sec1 .col-text {
    width: 579px;
    margin-right: 0px;
  }
  #sec1 .col-text h2 {
    margin: 0 0 50px -3px;
  }
  #sec1 .col-text h2 small {
    margin-left: 7px;
  }
  #sec1 .img3 {
    width: 507px;
    margin: 0;
    position: absolute;
    right: calc(-50vw + 50.7%);
    bottom: -393px;
  }
}

#sec2 {
  margin-top: -22vw;
}
#sec2 .bg-para {
  width: 100%;
  margin: 0 auto 13vw;
  height: 80vw;
}
#sec2 .bg-para:before {
  content: "";
  width: 10vw;
  background: url("../img/shared/deco1.png") no-repeat left top/100%,
    url("../img/shared/deco4.png") no-repeat left bottom/100%;
  position: absolute;
  left: 2vw;
  top: 2vw;
  bottom: 2vw;
  z-index: 1;
}
#sec2 .bg-para:after {
  content: "";
  width: 10vw;
  background: url("../img/shared/deco2.png") no-repeat right top/100%,
    url("../img/shared/deco3.png") no-repeat right bottom/100%;
  position: absolute;
  right: 2vw;
  top: 2vw;
  bottom: 2vw;
  z-index: 1;
}
#sec2 h2 {
  text-align: center;
  margin-bottom: 5vw;
}
#sec2 .note {
  text-align: center;
}
#sec2 .scroll-line {
  position: absolute;
  width: 1px;
  left: 2vw;
  top: 0vw;
  height: 0;
  /* border-left: 1px solid #42230d; */
  z-index: 2;
  pointer-events: none;
}
#sec2 .s2-content {
  position: relative;
  padding: 10vw 0 18vw 2vw;
}
#sec2 .s2-content:before {
  content: "";
  width: 80vw;
  height: 30vw;
  background-image: url("../img/dinner/sec2_blk1_deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center bottom;
  position: absolute;
  right: -10vw;
  top: -23vw;
  z-index: -1;
}
#sec2 .blk1 {
  position: relative;
  padding: 10vw 0 0;
}
#sec2 .blk1:before {
  content: "";
  background: #fff;
  opacity: 0.5;
  position: absolute;
  left: -2vw;
  right: 0;
  top: 0;
  bottom: 10vw;
  z-index: -1;
}
#sec2 .blk1:after {
  content: "";
  width: 50vw;
  height: 20vw;
  background-image: url("../img/dinner/sec2_blk1_deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  left: 2vw;
  bottom: -20vw;
  z-index: -1;
}
#sec2 .blk1 .col-text {
  margin-bottom: 22vw;
}
#sec2 .blk1 .col-text dl {
  text-align: center;
  margin-bottom: 6vw;
}
#sec2 .blk1 .col-img {
  position: relative;
}
#sec2 .blk1 .col-img .img {
  margin: 0 -5vw 0 -2vw;
}
#sec2 .blk1 .col-img ul {
  font-family: "Zen Maru Gothic";
  color: #fff;
  font-size: 4vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 7vw;
}
#sec2 .blk1 .col-img ul li {
  border-radius: 5vw;
  background: #67806b;
  position: absolute;
  z-index: 1;
  padding: 0 3vw;
}
#sec2 .blk1 .col-img ul li .line {
  display: block;
  width: 1px;
  background: #67806b;
  position: absolute;
}
#sec2 .blk1 .col-img ul li .line:before {
  content: "";
  width: 2vw;
  height: 2vw;
  background: #67806b;
  border-radius: 50%;
  position: absolute;
}
#sec2 .blk1 .col-img ul .ttl1 {
  top: -7vw;
  left: -4vw;
}
#sec2 .blk1 .col-img ul .ttl1 .line {
  height: 20vw;
  transform: rotate(-15deg);
  left: 28vw;
  top: 5vw;
}
#sec2 .blk1 .col-img ul .ttl1 .line:before {
  bottom: -1vw;
  left: -0.8vw;
}
#sec2 .blk1 .col-img ul .ttl2 {
  top: -14vw;
  right: -1vw;
}
#sec2 .blk1 .col-img ul .ttl2 .line {
  height: 35vw;
  transform: rotate(15deg);
  left: 16vw;
  top: 5vw;
}
#sec2 .blk1 .col-img ul .ttl2 .line:before {
  bottom: -1vw;
  left: -0.8vw;
}
#sec2 .blk1 .col-img ul .ttl3 {
  right: -2vw;
  bottom: 5vw;
}
#sec2 .blk1 .col-img ul .ttl3 .line {
  height: 17vw;
  transform: rotate(-25deg);
  left: 20vw;
  top: -16vw;
}
#sec2 .blk1 .col-img ul .ttl3 .line:before {
  bottom: 17vw;
  left: -1vw;
}
#sec2 .blk1 .col-img ul .ttl4 {
  right: -2vw;
  bottom: -5vw;
}
#sec2 .blk1 .col-img ul .ttl4 .line {
  height: 44vw;
  transform: rotate(0deg);
  left: 18vw;
  top: -44vw;
}
#sec2 .blk1 .col-img ul .ttl4 .line:before {
  bottom: 43vw;
  left: -1vw;
}
#sec2 .blk1 .col-img ul .ttl5 {
  bottom: 8vw;
  left: -2vw;
}
#sec2 .blk1 .col-img ul .ttl5 .line {
  height: 17vw;
  transform: rotate(25deg);
  left: 16vw;
  top: -16vw;
}
#sec2 .blk1 .col-img ul .ttl5 .line:before {
  bottom: 17vw;
  left: -1vw;
}
#sec2 .blk2 {
  margin: 20vw 0 0 -2vw;
}
#sec2 .blk2 h3 {
  text-align: center;
  display: block;
  font-family: "ZCOOL XiaoWei";
  color: #b1a46a;
  font-size: 5.3vw;
  line-height: 6vw;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 10vw;
}
#sec2 .blk2 .col {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
#sec2 .blk2 .col .z2 {
  position: relative;
  z-index: 2;
}
#sec2 .blk2 .col h4 {
  font-size: 20vw;
  line-height: 15vw;
  letter-spacing: 0.15em;
  opacity: 0.55;
  color: #bbc3a4;
  text-align: center;
  position: relative;
  z-index: 2;
  margin-bottom: -3vw;
}
#sec2 .blk2 .col h4 .fz110 {
  font-size: 14.7vw;
  position: relative;
  top: 5vw;
}
#sec2 .blk2 .col h4 .fz130 {
  font-size: 17.3vw;
}
#sec2 .blk2 .col h4 .fz140 {
  font-size: 18.7vw;
}
#sec2 .blk2 .col h4 .fz160 {
  font-size: 21.3vw;
}
#sec2 .blk2 .col .row-text {
  padding: 0 5vw 0 7vw;
}
#sec2 .blk2 .col .row-text .dish-info {
  text-align: center;
  margin-bottom: 6vw;
}
#sec2 .blk2 .or {
  width: 18vw;
  height: 18vw;
  margin: -9vw auto 6vw;
  position: relative;
  z-index: 1;
  text-align: center;
  background: #67806b;
  color: #fff;
  border-radius: 50%;
  font-family: "ZCOOL XiaoWei";
  font-size: 8vw;
  letter-spacing: 0;
  line-height: 18vw;
}
#sec2 .blk2 .col-right .row-img {
  order: 2;
}
#sec2 .blk2 .col-right .row-text {
  order: 1;
  margin-bottom: 8vw;
}
#sec2 .blk2 .col-left h4 {
  margin-bottom: -2vw;
}
#sec2 .blk2 .col-left h4 .fz130 {
  top: 2vw;
}
#sec2 .blk2 .col-left .row-img {
  margin-bottom: 8vw;
}
#sec2 .blk3 {
  padding: 10vw 0 18vw;
}
#sec2 .blk3 .img {
  width: 94vw;
  position: relative;
  margin-bottom: 5vw;
}
#sec2 .blk3 .img:before {
  content: "";
  width: 50vw;
  height: 50vw;
  background-image: url("../img/dinner/sec2_blk3_deco.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  left: -10vw;
  top: -10vw;
  z-index: -1;
}
#sec2 .blk4 {
  margin-left: -2vw;
  position: relative;
}
#sec2 .blk4:before {
  content: "";
  width: 50vw;
  height: 60vw;
  background-image: url("../img/dinner/sec2_blk4_deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: 0;
  top: -47vw;
  z-index: -1;
}
#sec2 .blk4 .col-left {
  margin-bottom: 10vw;
}
#sec2 .blk4 .col-right {
  position: relative;
}
#sec2 .blk4 .col-right:after {
  content: "";
  width: 38vw;
  height: 21vw;
  background-image: url("../img/dinner/sec2_blk4_deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: 0;
  top: 84vw;
  z-index: -1;
}
#sec2 .blk4 .img {
  margin-bottom: 8vw;
}
#sec2 .blk4 .inner {
  padding: 0 5vw 0 7vw;
}
#sec2 .blk4 .inner dl {
  margin-bottom: 6vw;
}
#sec2 .blk5 {
  padding: 10vw 0 20vw;
  position: relative;
}
#sec2 .blk5:before {
  content: "";
  width: 47vw;
  height: 40vw;
  background-image: url("../img/dinner/sec2_blk5_deco3.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: -20vw;
  left: 0;
  z-index: -1;
}
#sec2 .blk5 .img {
  margin: 0 -9vw -19vw -3vw;
  position: relative;
  z-index: 1;
}
#sec2 .blk5 .img:before {
  content: "";
  width: 60vw;
  height: 20vw;
  background-image: url("../img/dinner/sec2_blk5_deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  left: 0;
  top: -5vw;
}
#sec2 .blk5 .col-text {
  position: relative;
  text-align: center;
  padding: 16vw 0 8vw;
}
#sec2 .blk5 .col-text:before {
  content: "";
  background: #fff;
  opacity: 0.5;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
}
#sec2 .blk5 .col-text:after {
  content: "";
  width: 27vw;
  height: 60vw;
  background-image: url("../img/dinner/sec2_blk5_deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: -5vw;
  top: -99vw;
}
#sec2 .blk6 {
  margin-bottom: 12vw;
  position: relative;
}
#sec2 .blk6:after {
  content: "";
  width: 50vw;
  height: 20vw;
  background-image: url("../img/dinner/sec2_blk6_deco.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: 0;
  top: -14vw;
  z-index: -1;
}
#sec2 .blk6 .img {
  margin: 0 0 4vw -5vw;
}
#sec2 .blk6 .col-text dl {
  margin-bottom: 6vw;
}
@media screen and (min-width: 768px) {
  #sec2 {
    position: relative;
    z-index: 0;
    margin-top: 0;
  }
  #sec2 .bg-para {
    width: calc(100% - 50px);
    margin: 0 auto 120px;
    height: 680px;
  }
  #sec2 .bg-para:before {
    width: 96px;
    left: 15px;
    top: 17px;
    bottom: 17px;
  }
  #sec2 .bg-para:after {
    width: 96px;
    right: 15px;
    top: 17px;
    bottom: 17px;
  }
  #sec2 h2 {
    margin-bottom: 32px;
  }
  #sec2 h2 small {
    margin-bottom: 17px;
  }
  #sec2 .note {
    margin-bottom: 35px;
  }
  #sec2 .linepc {
    height: 0;
    top: 0;
    border-left: 1px solid #42230d;
    position: absolute;
    left: 49.9%;
    z-index: 1;
  }
  #sec2 .s2-content {
    padding: 122px 0 0px;
  }
  #sec2 .s2-content:before {
    width: 705px;
    height: 231px;
    right: calc(50% - 801px);
    top: -143px;
  }
  #sec2 .blk1 {
    padding: 91px 0 337px;
    z-index: 0;
  }
  #sec2 .blk1:before {
    left: 0;
    bottom: 412px;
  }
  #sec2 .blk1:after {
    width: 339px;
    height: 78px;
    left: calc(50% - 729px);
    bottom: 299px;
  }
  #sec2 .blk1 .wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #sec2 .blk1 .col-text {
    order: 2;
    width: 500px;
    margin: 3px -4px 0 -230px;
    position: relative;
    z-index: 1;
  }
  #sec2 .blk1 .col-text dl {
    text-align: right;
    margin-bottom: 50px;
  }
  #sec2 .blk1 .col-text .txt {
    width: 310px;
    margin: 0 -22px 0 auto;
  }
  #sec2 .blk1 .col-img {
    order: 1;
    width: 873px;
    margin-left: -145px;
    z-index: 3;
  }
  #sec2 .blk1 .col-img .img {
    margin: 0;
  }
  #sec2 .blk1 .col-img ul {
    font-size: 25px;
    line-height: 52px;
  }
  #sec2 .blk1 .col-img ul li {
    border-radius: 30px;
    padding: 0 26px 4px 29px;
  }
  #sec2 .blk1 .col-img ul li .line:before {
    width: 10px;
    height: 10px;
  }
  #sec2 .blk1 .col-img ul .ttl1 {
    top: -69px;
    left: 12px;
  }
  #sec2 .blk1 .col-img ul .ttl1 .line {
    height: 224px;
    transform: rotate(-23.5deg);
    left: 220px;
    top: 45px;
  }
  #sec2 .blk1 .col-img ul .ttl1 .line:before {
    bottom: -3px;
    left: -5px;
  }
  #sec2 .blk1 .col-img ul .ttl2 {
    top: -163px;
    right: 269px;
  }
  #sec2 .blk1 .col-img ul .ttl2 .line {
    height: 303px;
    transform: rotate(-19.7deg);
    left: 186px;
    top: 43px;
  }
  #sec2 .blk1 .col-img ul .ttl2 .line:before {
    bottom: 0px;
    left: -5px;
  }
  #sec2 .blk1 .col-img ul .ttl3 {
    right: -244px;
    bottom: 121px;
  }
  #sec2 .blk1 .col-img ul .ttl3 .line {
    height: 250px;
    transform: rotate(-64deg);
    left: -106px;
    top: -150px;
  }
  #sec2 .blk1 .col-img ul .ttl3 .line:before {
    bottom: 245px;
    left: -4px;
  }
  #sec2 .blk1 .col-img ul .ttl4 {
    right: -244px;
    bottom: -23px;
  }
  #sec2 .blk1 .col-img ul .ttl4:before {
    content: "";
    width: 174px;
    height: 1px;
    background: #67806b;
    position: absolute;
    left: -170px;
    top: 27px;
  }
  #sec2 .blk1 .col-img ul .ttl4 .line {
    height: 443px;
    transform: rotate(-11deg);
    left: -212px;
    top: auto;
    bottom: 24px;
  }
  #sec2 .blk1 .col-img ul .ttl4 .line:before {
    bottom: 436px;
    left: -5px;
  }
  #sec2 .blk1 .col-img ul .ttl5 {
    bottom: -78px;
    left: 224px;
  }
  #sec2 .blk1 .col-img ul .ttl5 .line {
    height: 329px;
    transform: rotate(-10.5deg);
    left: 38px;
    top: -316px;
  }
  #sec2 .blk1 .col-img ul .ttl5 .line:before {
    bottom: 326px;
    left: -5px;
  }
  #sec2 .blk2 {
    margin: 0;
    display: flex;
    position: relative;
    padding-bottom: 184px;
  }
  #sec2 .blk2 .col {
    width: 50%;
    position: relative;
  }
  #sec2 .blk2 .col h4 {
    font-size: 150px;
    line-height: 150px;
    margin-bottom: 0;
    position: absolute;
    left: 25px;
    right: 0;
    top: -127px;
    z-index: 3;
  }
  #sec2 .blk2 .col h4 .fz110 {
    font-size: 110px;
    top: 13px;
    margin: 0 -7px 0 7px;
  }
  #sec2 .blk2 .col h4 .fz160 {
    font-size: 160px;
  }
  #sec2 .blk2 .col h4 .fz140 {
    font-size: 140px;
    position: relative;
    top: -6px;
  }
  #sec2 .blk2 .col h4 .fz130 {
    font-size: 130px;
  }
  #sec2 .blk2 .col .sttl {
    font-family: "ZCOOL XiaoWei";
    font-size: 30px;
    text-transform: uppercase;
    color: #b1a46a;
    position: absolute;
  }
  #sec2 .blk2 .col .sttl .txt-latin {
    letter-spacing: 0.05em;
  }
  #sec2 .blk2 .col .row-text {
    padding: 73px 0 0;
  }
  #sec2 .blk2 .col .row-text .dish-info {
    margin-bottom: 42px;
  }
  #sec2 .blk2 .col .row-text .dish-info dt {
    margin-bottom: 13px;
  }
  #sec2 .blk2 .col .row-text .txt {
    text-align: center;
  }
  #sec2 .blk2 .col .row-img {
    position: relative;
    z-index: 2;
  }
  #sec2 .blk2 .col .row-img .img {
    height: 585px;
  }
  #sec2 .blk2 .or {
    width: 122px;
    height: 122px;
    margin: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 233px;
    z-index: 3;
    font-size: 50px;
    line-height: 119px;
  }
  #sec2 .blk2 .col-right {
    order: 2;
  }
  #sec2 .blk2 .col-right .sttl {
    left: 29px;
    bottom: 195px;
  }
  #sec2 .blk2 .col-right .row-img {
    order: 1;
  }
  #sec2 .blk2 .col-right .row-text {
    order: 2;
    margin-bottom: 0;
  }
  #sec2 .blk2 .col-left {
    order: 1;
  }
  #sec2 .blk2 .col-left h4 {
    left: 15px;
    top: -125px;
    margin-bottom: 0;
  }
  #sec2 .blk2 .col-left h4 .fz130 {
    position: relative;
    top: 9px;
    margin: 0 0 0 1px;
  }
  #sec2 .blk2 .col-left .sttl {
    transform: rotate(180deg);
    right: 29px;
    bottom: -27px;
  }
  #sec2 .blk2 .col-left .row-img {
    margin-bottom: 0;
  }
  #sec2 .blk3 {
    padding: 0 0 114px;
    margin-top: -70px;
    position: relative;
    z-index: 2;
  }
  #sec2 .blk3 .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #sec2 .blk3 .img {
    width: 655px;
    margin: 0 0 0 42px;
    position: relative;
    z-index: 2;
  }
  #sec2 .blk3 .img:before {
    width: 375px;
    height: 220px;
    left: -227px;
    top: -67px;
  }
  #sec2 .blk3 .dish-info {
    width: 373px;
    margin: 12px -100px 0 0;
  }
  #sec2 .blk3 .dish-info dt {
    margin-bottom: 23px;
  }
  #sec2 .blk3 .dish-info dt small {
    margin-left: 6px;
  }
  #sec2 .blk4 {
    margin-left: 0;
    display: flex;
    align-items: flex-start;
  }
  #sec2 .blk4:before {
    width: 521px;
    height: 600px;
    top: -174px;
  }
  #sec2 .blk4 .col {
    width: 50%;
  }
  #sec2 .blk4 .col-left {
    margin-bottom: 0;
  }
  #sec2 .blk4 .col-right {
    margin-top: 286px;
  }
  #sec2 .blk4 .col-right:after {
    width: 256px;
    height: 142px;
    right: -35px;
    top: 669px;
  }
  #sec2 .blk4 .img {
    height: 632px;
    margin-bottom: 83px;
    position: relative;
    z-index: 2;
  }
  #sec2 .blk4 .inner {
    max-width: 580px;
    width: 90%;
    margin: 0 auto;
    padding: 0;
  }
  #sec2 .blk4 .inner dl {
    margin: 0 0 62px -5px;
  }
  #sec2 .blk4 .inner dl dt {
    margin-bottom: 23px;
  }
  #sec2 .blk4 .inner dl dt small {
    margin-left: 7px;
  }
  #sec2 .blk5 {
    padding: 242px 0 97px;
  }
  #sec2 .blk5:before {
    width: 370px;
    height: 217px;
    bottom: -8px;
    left: calc(50% - 668px);
  }
  #sec2 .blk5 .img {
    margin: 0;
    position: absolute;
    left: -212px;
    top: -305px;
    z-index: 2;
  }
  #sec2 .blk5 .img:before {
    width: 521px;
    height: 171px;
    left: 5px;
    top: -113px;
  }
  #sec2 .blk5 .col-text {
    width: 754px;
    text-align: left;
    padding: 83px 0 99px 301px;
    margin-left: 424px;
    box-sizing: border-box;
  }
  #sec2 .blk5 .col-text:after {
    width: 197px;
    height: 481px;
    right: -47px;
    top: -476px;
  }
  #sec2 .blk5 .col-text dl dt {
    margin-bottom: 7px;
  }
  #sec2 .blk5 .col-text dl dt small {
    margin-left: 7px;
  }
  #sec2 .blk6 {
    margin: -2px 0 0;
    padding-bottom: 332px;
  }
  #sec2 .blk6:after {
    width: 345px;
    height: 81px;
    right: calc(50% - 736px);
    top: -70px;
  }
  #sec2 .blk6 .wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #sec2 .blk6 .img {
    order: 2;
    width: 746px;
    margin: 0 -118px 0 0;
    position: relative;
    z-index: 2;
  }
  #sec2 .blk6 .col-text {
    order: 1;
    width: 450px;
    margin: 106px -60px 0 -40px;
    position: relative;
    z-index: 3;
  }
  #sec2 .blk6 .col-text dl {
    margin-bottom: 54px;
  }
  #sec2 .blk6 .col-text .txt {
    margin-left: 5px;
  }
  #sec2 .btn-popup {
    position: absolute;
    bottom: 187px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
  }
}
@media screen and (min-width: 768px) and (max-width: 1280px) {
  #sec2 .blk1 .col-img ul .ttl1 {
    left: calc(-50vw + 74%);
  }
  #sec2 .blk3 .img {
    margin: 0;
  }
  #sec2 .blk3 .dish-info {
    margin-right: -50px;
  }
  #sec2 .blk4 .inner .txt {
    letter-spacing: 0;
  }
  #sec2 .blk6 .col-text {
    margin-left: -20px;
  }
}

#sec3 .bg-para {
  width: 100%;
  margin: 0 auto;
  height: 80vw;
}
#sec3 .bg-para:before {
  content: "";
  width: 10vw;
  background: url("../img/shared/deco1.png") no-repeat left top/100%,
    url("../img/shared/deco4.png") no-repeat left bottom/100%;
  position: absolute;
  left: 2vw;
  top: 2vw;
  bottom: 2vw;
  z-index: 1;
}
#sec3 .bg-para:after {
  content: "";
  width: 10vw;
  background: url("../img/shared/deco2.png") no-repeat right top/100%,
    url("../img/shared/deco3.png") no-repeat right bottom/100%;
  position: absolute;
  right: 2vw;
  top: 2vw;
  bottom: 2vw;
  z-index: 1;
}
#sec3 .inner {
  padding: 13vw 5vw 18vw;
  position: relative;
  z-index: 0;
}
#sec3 .inner:before {
  content: "";
  width: 90vw;
  height: 50vw;
  background-image: url("../img/dinner/sec3_deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: -10vw;
  top: 35vw;
  z-index: -1;
}
#sec3 .inner:after {
  content: "";
  width: 105vw;
  height: 50vw;
  background-image: url("../img/dinner/sec3_deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center bottom;
  position: absolute;
  left: -19vw;
  bottom: 0vw;
  z-index: -1;
}
#sec3 h2 {
  margin-bottom: 6vw;
}
#sec3 .col-text .txt {
  margin-bottom: 8vw;
}
@media screen and (min-width: 768px) {
  #sec3 .bg-para {
    width: calc(100% - 50px);
    margin: 0 auto;
    height: 680px;
  }
  #sec3 .bg-para:before {
    width: 96px;
    left: 15px;
    top: 17px;
    bottom: 17px;
  }
  #sec3 .bg-para:after {
    width: 96px;
    right: 15px;
    top: 17px;
    bottom: 17px;
  }
  #sec3 .inner {
    max-width: 1200px;
    width: 94%;
    margin: 0 auto;
    padding: 183px 0 134px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #sec3 .inner:before {
    width: 752px;
    height: 223px;
    right: calc(50% - 865px);
    top: 107px;
  }
  #sec3 .inner:after {
    width: 865px;
    height: 380px;
    left: calc(50% - 842px);
    bottom: 160px;
  }
  #sec3 h2 {
    width: 560px;
    text-align: right;
    margin: 0 20px 0 -15px;
    white-space: nowrap;
    line-height: 90px;
  }
  #sec3 h2 small {
    margin: 0 19px 36px 0;
  }
  #sec3 .col-text {
    width: 518px;
    margin-top: 193px;
  }
  #sec3 .col-text .txt {
    margin-bottom: 80px;
  }
  #sec3 .col-text .btn-popup {
    width: 460px;
    margin: 0;
  }
  #sec3 .col-text .btn-popup a {
    padding-right: 58px;
  }
}

#sec4 {
  padding: 10vw 0 18vw;
  margin-bottom: 18vw;
  position: relative;
  z-index: 1;
}
#sec4:before {
  content: "";
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  left: 0;
  right: 0;
  top: 100vw;
  bottom: 0;
  z-index: -1;
}
#sec4 .note {
  text-align: center;
  line-height: 30px;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 0 5vw 6vw;
}
#sec4 .img {
  margin-bottom: 12vw;
}
#sec4 .blk1 {
  margin-bottom: 10vw;
}
#sec4 .blk1 h2 {
  margin-bottom: 6vw;
}
#sec4 .course-name {
  text-align: center;
  line-height: 8vw;
}
#sec4 .course-name dt {
  font-size: 6vw;
  letter-spacing: 0.15em;
}
#sec4 .course-name dt small {
  font-size: 4.6vw;
}
#sec4 .course-name dd {
  font-size: 4.4vw;
  font-weight: 400;
  letter-spacing: 0.15em;
}
#sec4 .course-name dd span {
  font-size: 5.3vw;
}
#sec4 .blk2 {
  border: 1px solid #67806b;
  padding: 8vw 5vw;
  margin-bottom: 15vw;
}
#sec4 .blk2 dl {
  margin-bottom: 5vw;
}
#sec4 .blk2 .sttl {
  line-height: 30px;
  text-align: center;
  position: relative;
  margin-bottom: 4vw;
}
#sec4 .blk2 .sttl:before {
  content: "";
  height: 1px;
  background: #42230d;
  position: absolute;
  left: 0;
  right: calc(50% + 55px);
  top: 15px;
}
#sec4 .blk2 .sttl:after {
  content: "";
  height: 1px;
  background: #42230d;
  position: absolute;
  right: 0;
  left: calc(50% + 55px);
  top: 15px;
}
#sec4 .blk3 {
  padding-bottom: 6vw;
}
#sec4 .blk3 h2 {
  text-align: center;
  margin-bottom: 6vw;
}
#sec4 .blk3 .box {
  border: 1px solid #67806b;
  padding: 8vw 5vw;
  margin-bottom: 8vw;
}
#sec4 .blk3 .box dl {
  margin-bottom: 4vw;
}
#sec4 .blk3 .box .txt {
  text-align: center;
}
#sec4 .blk4 h3 {
  font-size: 6vw;
  letter-spacing: 0.1em;
  line-height: 10vw;
  margin: 0 -3vw 6vw;
  text-align: center;
}
#sec4 .blk4 h3 span {
  font-size: 7vw;
}
@media screen and (min-width: 768px) {
  #sec4 {
    padding: 28px 0 125px;
    margin-bottom: 103px;
  }
  #sec4:before {
    left: calc(50% - 602px);
    top: 123px;
  }
  #sec4 .note {
    text-align: left;
    padding: 0;
    margin: 0 0px 135px calc(50% - 28px);
  }
  #sec4 .img {
    width: calc(50% - 56px);
    height: 736px;
    margin-bottom: 0;
    position: absolute;
    left: 0;
    top: 0;
  }
  #sec4 .blk1 {
    width: 436px;
    margin: 0 20px 57px auto;
  }
  #sec4 .blk1 h2 {
    margin-bottom: 58px;
  }
  #sec4 .blk1 h2 small {
    margin: 0 0 6px 8px;
  }
  #sec4 .course-name {
    line-height: 45px;
    padding-left: 20px;
  }
  #sec4 .course-name dt {
    font-size: 35px;
    margin-bottom: -7px;
  }
  #sec4 .course-name dt small {
    font-size: 25px;
  }
  #sec4 .course-name dd {
    font-size: 23px;
  }
  #sec4 .course-name dd span {
    font-size: 30px;
  }
  #sec4 .blk2 {
    width: 980px;
    padding: 54px 70px 59px;
    margin: 0 auto 76px;
    box-sizing: border-box;
  }
  #sec4 .blk2 dl {
    margin-bottom: 37px;
  }
  #sec4 .blk2 .sttl {
    font-size: 20px;
    letter-spacing: 0.1em;
    margin-bottom: 38px;
  }
  #sec4 .blk2 .sttl:before {
    right: calc(50% + 69px);
    top: 16px;
  }
  #sec4 .blk2 .sttl:after {
    left: calc(50% + 70px);
    top: 16px;
  }
  #sec4 .blk2 .list {
    display: flex;
    justify-content: space-between;
    font-size: 20px;
    line-height: 45px;
    letter-spacing: 0.1em;
    padding: 0 7px 0 27px;
  }
  #sec4 .blk3 {
    padding-bottom: 77px;
  }
  #sec4 .blk3 h2 {
    margin-bottom: 40px;
  }
  #sec4 .blk3 h2 small {
    margin-bottom: 5px;
  }
  #sec4 .blk3 .boxlist {
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
  }
  #sec4 .blk3 .box {
    width: 475px;
    padding: 57px 30px 61px;
    margin-bottom: 0;
    box-sizing: border-box;
  }
  #sec4 .blk3 .box dl {
    margin-bottom: 40px;
  }
  #sec4 .blk3 .box dl dt {
    margin-bottom: 2px;
  }
  #sec4 .blk3 .box dl dt small {
    margin-top: -4px;
  }
  #sec4 .blk4 h3 {
    font-size: 40px;
    line-height: 60px;
    letter-spacing: 0.15em;
    margin: 0 0 32px;
  }
  #sec4 .blk4 h3 span {
    font-size: 50px;
  }
  #sec4 .blk4 .txt {
    text-align: center;
  }
}

#sec5 {
  padding: 20vw 0;
  background: url("../img/dinner/deco.png") repeat-x center top/12vw,
    url("../img/dinner/deco.png") repeat-x center bottom/12vw;
  text-align: center;
}
#sec5 h2 {
  margin-bottom: 6vw;
}
#sec5 .note {
  margin-bottom: 8vw;
}
#sec5 .tel-box {
  border: 1px solid #67806b;
  padding: 5vw;
  position: relative;
  font-size: 4.7vw;
  letter-spacing: 0.1em;
  line-height: 9vw;
  margin-bottom: 10vw;
}
#sec5 .tel-box:before {
  content: "";
  width: 8vw;
  background: url("../img/shared/deco1.png") no-repeat left top/100%,
    url("../img/shared/deco4.png") no-repeat left bottom/100%;
  position: absolute;
  left: 2vw;
  top: 2vw;
  bottom: 2vw;
  z-index: 1;
}
#sec5 .tel-box:after {
  content: "";
  width: 8vw;
  background: url("../img/shared/deco2.png") no-repeat right top/100%,
    url("../img/shared/deco3.png") no-repeat right bottom/100%;
  position: absolute;
  right: 2vw;
  top: 2vw;
  bottom: 2vw;
  z-index: 1;
}
#sec5 .tel-box span {
  font-family: "Tenor Sans";
  font-size: 8.1vw;
  letter-spacing: 0.1em;
  margin-top: 1vw;
}
#sec5 .tel-box span small {
  font-size: 5.5vw;
}
#sec5 .tel-box small.db {
  font-size: 3.2vw;
  line-height: 5vw;
  letter-spacing: 0.1em;
}
#sec5 .btn-popup {
  margin-bottom: 10vw;
}
#sec5 .box-cancel {
  position: relative;
  padding: 10vw 8vw;
  z-index: 1;
}
#sec5 .box-cancel:before {
  content: "";
  border: 3vw solid #bbc3a4;
  opacity: 0.35;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
}
#sec5 .box-cancel:after {
  content: "";
  background-image: url("../img/dinner/pattern.png");
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -2;
}
#sec5 .box-cancel h3 {
  text-align: center;
  font-size: 6vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 8vw;
  background: url("../img/dinner/dashed.png") repeat-x center bottom/auto;
  padding-bottom: 5vw;
  margin-bottom: 5vw;
}
@media screen and (min-width: 768px) {
  #sec5 {
    padding: 113px 0 155px;
    background-size: auto;
  }
  #sec5 h2 {
    margin-bottom: 49px;
  }
  #sec5 h2 small {
    margin-bottom: 5px;
  }
  #sec5 .note {
    font-size: 20px;
    line-height: 40px;
    margin: 0 0 58px 10px;
  }
  #sec5 .tel-box {
    width: 700px;
    padding: 32px 30px 40px 20px;
    font-size: 20px;
    line-height: 40px;
    margin: 0 auto 54px;
    box-sizing: border-box;
  }
  #sec5 .tel-box:before {
    width: 43px;
    left: 12px;
    top: 13px;
    bottom: 13px;
  }
  #sec5 .tel-box:after {
    width: 43px;
    right: 12px;
    top: 13px;
    bottom: 13px;
  }
  #sec5 .tel-box span {
    font-size: 46px;
    margin-top: 9px;
  }
  #sec5 .tel-box span small {
    font-size: 26px;
  }
  #sec5 .tel-box small.db {
    font-size: 18px;
    line-height: 30px;
  }
  #sec5 .btn-popup {
    width: 481px;
    margin-bottom: 89px;
  }
  #sec5 .btn-popup a {
    padding-right: 0;
  }
  #sec5 .box-cancel {
    width: 860px;
    margin: 0 auto;
    padding: 45px 50px 52px;
    box-sizing: border-box;
  }
  #sec5 .box-cancel:before {
    border-width: 15px;
  }
  #sec5 .box-cancel h3 {
    width: 644px;
    font-size: 30px;
    line-height: 50px;
    letter-spacing: 0.02em;
    padding-bottom: 31px;
    margin: 0 auto 30px;
  }
  #sec5 .box-cancel .txt {
    text-align: center;
    letter-spacing: 0.05em;
  }
}

#sec6 {
  padding: 18vw 0 20vw;
}
#sec6 .banner a {
  display: block;
  position: relative;
}
#sec6 .banner a .ttl {
  font-family: "ZCOOL XiaoWei";
  font-size: 14vw;
  letter-spacing: 0.1em;
  font-weight: 400;
  line-height: 10vw;
  color: #fff;
  position: absolute;
  left: 3vw;
  top: 6vw;
  z-index: 1;
}
#sec6 .banner a .ttl small {
  font-family: "Noto Serif JP";
  font-size: 3.6vw;
  font-weight: 500;
  line-height: 6vw;
  letter-spacing: 0.15em;
  margin-bottom: 3vw;
}
@media screen and (min-width: 768px) {
  #sec6 {
    padding: 103px 0 147px;
  }
  #sec6 .banner {
    width: 980px;
    margin: 0 auto;
  }
  #sec6 .banner a .ttl {
    font-size: 170px;
    line-height: 120px;
    left: 40px;
    top: 95px;
  }
  #sec6 .banner a .ttl small {
    font-size: 30px;
    line-height: 50px;
    margin: 0 0 27px 7px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1260px) {
  #sec1 .col-img .img2 {
    left: -140px;
  }
}
