.menu-toggle {
  z-index: 10;
}

.slick-dots {
  display: flex;
  margin-left: 7px;
}

.slick-dots li {
  line-height: 1;
}

.slick-dots li:not(:last-child) {
  margin-right: 17px;
}

.slick-dots li button {
  border-radius: 50%;
  width: 13px;
  height: 13px;
  font-size: 0;
  cursor: pointer;
  border: 1px solid #000000;
  background: none;
}

.slick-dots li.slick-active button {
  background: #000000;
}

.btn-popup {
  width: 100%;
  margin: 10vw 0 0;
}

.btn-popup a {
  font-family: "Zen Kaku Gothic New";
  font-weight: 500;
  font-size: 3.2vw;
  letter-spacing: 0.1em;
}

.btn-popup a span {
  font-size: 5.5vw;
  font-weight: 400;
  letter-spacing: 0.1em;
  position: relative;
  top: 0.5vw;
  margin-right: 2px;
}

.btn-popup a::after {
  width: 3.8vw;
  right: 6vw;
}

.img-parallax {
  clip: rect(0, auto, auto, 0);
  margin-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.img-parallax img {
  width: 100% !important;
  height: 100vh !important;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  object-fit: cover;
  z-index: 0;
  transform: translateZ(0);
}

.box-parallax {
  position: relative;
  z-index: 0;
}

.remodal-overlay {
  background: #f2efea;
}

.popup-content {
  background: none;
  padding: 0;
}

.popup-content .remodal-close {
  background-image: url(../img/menu/close.png);
  width: 35px;
  height: 55px;
  margin: 0 0 10px auto;
}

.popup-content .container {
  background: #fff;
  padding: 13vw 5% 3vw;
}

.popup-content h2 {
  font-size: 7vw;
  font-weight: 500;
  letter-spacing: 0.15em;
}

.popup-content .note {
  margin: 3vw 0 10vw;
  font-size: 12px;
}
.popup-content .note2 {
  text-align: left;
  letter-spacing: 0;
}
.popup-content .content .col .item {
  margin-bottom: 13vw;
}

.popup-content .content .col .item h3 {
  line-height: 1.6;
  margin-bottom: 7vw;
}

.popup-content .content .col .item h3 .ttl-jp {
  font-family: "Zen Old Mincho";
  font-size: 6vw;
  letter-spacing: 0.1em;
}

.popup-content .content .col .item h3 .ttl-eng {
  font-family: "Albert Sans";
  font-size: 3vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #ada655;
}

.popup-content .content .col .item .list dl {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px dashed #827f7d;
  font-size: 14px;
  line-height: 20px;
}

.popup-content .content .col .item .list dl dt {
  text-align: left;
}

.popup-content .content .col .item .list dl dd {
  font-weight: 500;
  text-align: right;
}

.popup-drink .content .col .item h3 {
  font-family: "Zen Old Mincho";
  font-size: 5.5vw;
  letter-spacing: 0.1em;
}

.popup-drink .content .col .item .list .nor dt {
  margin-right: -29vw;
}

.popup-drink .content .col .item .list .nor dd {
  white-space: nowrap;
}

.popup-drink .content .col .item .txt-sub {
  font-size: 12px;
  line-height: 20px;
  margin-bottom: 10px;
  text-align: left;
}

header::after {
  content: "";
  background: url(../img/menu/key_deco.png) no-repeat left top/100% auto;
  position: absolute;
  top: 0;
  left: -18vw;
  right: 43%;
  bottom: 0;
  z-index: -1;
}

#key {
  padding: 20vw 0 0;
}

#key .deco {
  font-size: 10vw;
  letter-spacing: -0.02em;
  color: #6e5142;
  text-align: left;
  line-height: 0.7;
}

#key .deco.deco1 {
  text-align: right;
  margin-right: 3%;
}

#key .deco.deco2 {
  margin-left: 2%;
}

#key .gr-img {
  --f-columns: 3;
  --f-gap: 8px;
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(-1 * var(--f-gap));
  margin-bottom: calc(-1 * var(--f-gap));
}

#key .gr-img li {
  margin-left: var(--f-gap);
  margin-bottom: var(--f-gap);
  width: calc((100% / var(--f-columns) - var(--f-gap)));
  position: relative;
}

#key .gr-img li span {
  font-size: 3vw;
  letter-spacing: 0.1em;
  display: inline-block;
  padding: 1vw 0;
  background: #fff;
  border: 1px solid #322a22;
  line-height: 1.3;
  position: absolute;
  white-space: nowrap;
}

#key .gr-img .img1 span {
  top: 5vw;
  right: 18%;
}

#key .gr-img .img2 span {
  top: 20vw;
  right: 31%;
}

#key .gr-img .img3 span {
  top: 4vw;
  left: 9%;
}

#lead {
  padding: 15vw 0 0;
}

#lead .gr-txt {
  margin-top: 10vw;
}

#lead .gr-txt h2 {
  margin-bottom: 8vw;
}

#lead .gr-txt h2 .ttl-eng {
  font-size: 3vw;
  letter-spacing: 0.05em;
  color: #231816;
  font-weight: 600;
  display: inline-block;
  position: relative;
  padding-left: 16px;
}

#lead .gr-txt h2 .ttl-eng::before {
  content: "";
  background: #473925;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  top: 3.05vw;
  left: 0;
}

#lead .gr-txt h2 .ttl-jp {
  font-size: 6.5vw;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

#lineup {
  padding: 17vw 0 20vw;
}

#lineup .set .sub span {
  font-size: 5vw;
  letter-spacing: 0.1em;
  display: inline-block;
  color: #fff;
  background: #000;
  padding: 3vw 1%;
  white-space: nowrap;
}

#lineup .set .sub span:last-child {
  margin: 6vw 2vw 0 0;
}

#lineup .set .num {
  font-family: "Playfair Display";
  font-size: 20vw;
  font-weight: 500;
  letter-spacing: -0.05em;
  line-height: 1;
  text-align: right;
}

#lineup .set .price-box {
  font-size: 6vw;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin: 7vw 0 8vw;
}

#lineup .set .price-box dd {
  text-align: right;
  font-size: 5vw;
  margin-top: 4vw;
}

#lineup .set1 h2 {
  font-size: 11vw;
  letter-spacing: -0.02em;
  text-align: center;
  line-height: 1;
}

#lineup .set1 .note {
  text-align: center;
  margin: 7vw 0 10vw;
}

#lineup .set1 .gr-pt {
  position: relative;
}

#lineup .set1 .gr-pt .sub {
  position: absolute;
  top: 51vw;
  right: 9%;
}

#lineup .set1 .catch {
  width: 80%;
  margin: 15vw 0 -12vw -5vw;
}

#lineup .set1 .gr-txt {
  margin-top: 5vw;
}

#lineup .set2 {
  padding: 10vw 0 0;
}

#lineup .set2 .catch {
  margin: 0 -12vw -12vw -4vw;
}

#lineup .set2 .sub {
  position: absolute;
  top: 11vw;
  right: 12%;
  z-index: 9;
}

#lineup .set2 .lineup-slider .slide-thumb {
  margin-top: 10px;
}

#lineup .set3 {
  padding: 10vw 0 0;
}

#lineup .set3 .sub {
  margin: -17vw auto 4vw;
  position: relative;
}

#lineup .set3 .content .gr-pt {
  position: relative;
}

#lineup .set3 .content .gr-pt .photo img {
  height: 80vw;
  object-fit: cover;
}

#lineup .set3 .content .gr-pt h3 {
  position: absolute;
  font-family: "Playfair Display";
  font-size: 11vw;
  letter-spacing: 0.05em;
}

#lineup .set3 .content .col-r .num {
  margin-bottom: 10vw;
  text-align: center;
}

#lineup .set3 .content .col-r .gr-pt h3 {
  top: 35vw;
  left: 2vw;
}

#lineup .set3 .content .col-l {
  margin-top: 10vw;
}

#lineup .set3 .content .col-l .gr-pt h3 {
  top: 5vw;
  left: 2vw;
}

#lineup .set4 {
  padding: 25vw 0 0;
}

#lineup .set4 .num {
  text-align: left;
  margin-bottom: 5vw;
}

#lineup .set4 .txt {
  margin-top: 3vw;
}

#lineup .set4 .photo-cr {
  margin: -10vw 0 0 -14vw;
  width: 50%;
}

#lineup .set4 .catch {
  position: absolute;
  top: 4vw;
  right: -2%;
  width: 56%;
  z-index: -1;
}

#lineup .set4 .sub {
  position: absolute;
  top: -12vw;
  left: 50%;
  transform: translateX(-50%);
}

#lineup .set4 .sub span:not(:first-child) {
  margin: 0 2vw 0 0;
}

#lineup .set5 {
  padding: 10vw 0 0;
}

#lineup .set5 .catch {
  margin-bottom: 35vw;
}

#lineup .set5 .col-l {
  margin-top: 7vw;
}

#lineup .set5 .col-l .num {
  position: absolute;
  top: 38vw;
  left: 5%;
  right: 5%;
  text-align: center;
}

#lineup .set5 .col-r {
  position: relative;
}

#lineup .set5 .col-r .js .item .note {
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.15em;
  position: absolute;
  left: 5%;
  bottom: 5vw;
}

#lineup .set5 .col-r .sub {
  position: absolute;
  top: -6vw;
  left: 6%;
}

#lineup .set5 .col-r .sub span:not(:first-child) {
  margin: 0 2vw 0 0;
}

#wine .set1 .gr-header {
  position: relative;
}

#wine .set1 .gr-header .box-parallax {
  height: 75vw;
}

#wine .set1 .gr-header h2 {
  position: absolute;
  top: 34vw;
  left: 5%;
  font-size: 15vw;
  color: #fff;
  letter-spacing: -0.02em;
  z-index: 2;
}

#wine .set1 .gr-txt {
  margin: 12vw 6% 0;
}

#wine .set1 .gr-txt h3 {
  font-size: 6.5vw;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: 7vw;
}

#wine .set2 {
  padding: 10vw 0 0;
}

#wine .set2 .item1 .gr-txt {
  margin-top: 10vw;
}

#wine .set2 .item1 .gr-txt h3 {
  font-size: 6vw;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: 6vw;
}

#wine .set2 .item2 {
  position: relative;
  padding: 10vw 0 20vw;
}

#wine .set2 .item2 .catch {
  margin: 0 -3vw -10vw;
}

#wine .set2 .item2 .sub {
  position: absolute;
  top: 26vw;
  left: 4%;
}

#wine .set2 .item2 .sub span {
  font-size: 5vw;
  letter-spacing: 0.1em;
  display: inline-block;
  color: #fff;
  background: #000;
  padding: 3vw 1%;
  white-space: nowrap;
}

#wine .set2 .item2 .sub span:not(:first-child) {
  margin-right: 2vw;
}

#wine .set2 .item2 .content .col-l .js .slick-dots {
  justify-content: center;
  margin: 0;
}

#wine .set2 .item2 .content .col-r {
  margin-top: 10vw;
}

#wine .set2 .item2 .content .col-r .ins {
  margin-top: 10vw;
}

#wine .set2 .item2 .btn-popup {
  margin: 15vw 0 0;
}

#reserve {
  position: relative;
  color: #fff;
  padding: 22vw 0;
}

#reserve .box-parallax {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}

#reserve h2 {
  font-size: 6.5vw;
  letter-spacing: 0.1em;
  text-align: center;
}

#reserve .tel {
  text-align: center;
  font-weight: 600;
  margin: 8vw 0 7vw;
}

#reserve .tel dt {
  font-size: 16px;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

#reserve .tel dd img {
  width: 16px;
  height: auto;
  margin-right: 6px;
  position: relative;
  top: -5px;
}

#reserve .tel dd span {
  font-size: 30px;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .txt-latin-pc {
    cursor: vertical-text;
    direction: rtl;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: sideways-right;
    -o-text-orientation: sideways-right;
    -ms-text-orientation: upright;
    -ms-text-orientation: sideways-right;
    -moz-text-orientation: sideways-right;
    -webkit-text-orientation: sideways-right;
  }
  .object-fit-cover {
    position: relative;
  }
  .object-fit-cover img {
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
  }
  .slick-dots {
    margin: 9px 0 0 9px;
  }
  .slick-dots li:not(:last-child) {
    margin-right: 22px;
  }
  .slick-dots li button {
    width: 18px;
    height: 18px;
  }
  .slick-dots li button:hover {
    opacity: 0.7;
  }
  .btn-popup {
    width: 100%;
    max-width: 900px;
    margin: 78px auto 0;
  }
  .btn-popup a {
    font-size: 20px;
    letter-spacing: 0.1em;
    padding: 35px 100px 38px;
  }
  .btn-popup a span {
    font-size: 30px;
    top: 0;
    margin-right: 2px;
  }
  .btn-popup a::after {
    background-image: url(../img/menu/icon_arr.png);
    width: 23px;
    right: 72px;
  }
  .popup-content {
    max-width: 1200px;
    padding: 64px 0 0;
  }
  .popup-content .remodal-close {
    width: 58px;
    height: 78px;
    margin: 0 15px 18px auto;
  }
  .popup-content .container {
    padding: 92px 20px 50px;
    max-width: 1200px;
    margin: 0 auto;
  }
  .popup-content .inner {
    max-width: 1000px;
    margin: 0 auto;
  }
  .popup-content h2 {
    font-size: 40px;
    letter-spacing: 0.1em;
  }
  .popup-content .note {
    margin: 21px 0 119px;
    line-height: 24px;
  }
  .popup-content .content {
    display: flex;
    justify-content: space-between;
  }
  .popup-content .content .col {
    width: 300px;
  }
  .popup-content .content .col .item {
    margin-bottom: 63px;
  }
  .popup-content .content .col .item h3 {
    line-height: 27px;
    margin-bottom: 26px;
  }
  .popup-content .content .col .item h3 .ttl-jp {
    font-size: 20px;
  }
  .popup-content .content .col .item h3 .ttl-eng {
    font-size: 10px;
  }
  .popup-content .content .col .item .list dl {
    padding: 10px 9px 9px 2px;
  }
  .popup-menu .content .col3 .item1 {
    min-height: 285px;
  }
  .popup-menu .content .col3 .item2 {
    min-height: 165px;
  }
  .popup-drink .container {
    padding-bottom: 0;
  }
  .popup-drink .content .col .item {
    margin-bottom: 100px;
  }
  .popup-drink .content .col .item h3 {
    font-size: 18px;
    line-height: 24px;
  }
  .popup-drink .content .col .item .list .nor dt {
    margin-right: -123px;
  }
  .popup-drink .content .col .item .txt-sub {
    margin-bottom: 10px;
  }
  header::after {
    background: url(../img/menu/key_deco.png) no-repeat;
    width: 726px;
    height: 653px;
    left: auto;
    right: calc(50% + 299px);
    bottom: auto;
  }
  #key {
    padding: 118px 0 0;
  }
  #key .deco {
    font-size: 150px;
    line-height: 102px;
  }
  #key .deco.deco1 {
    text-align: right;
    margin-right: 71px;
  }
  #key .deco.deco2 {
    margin-left: 15px;
    position: relative;
    top: -3px;
  }
  #key .gr-img {
    --f-gap: 31px;
  }
  #key .gr-img li img {
    width: 100%;
    height: auto;
  }
  #key .gr-img li span {
    font-size: 34px;
    padding: 4px 0 9px;
    line-height: 43px;
  }
  #key .gr-img .img1 span {
    top: 52px;
    right: 52px;
  }
  #key .gr-img .img2 span {
    top: 32.5%;
    right: 149px;
  }
  #key .gr-img .img3 span {
    top: 44px;
    left: 55px;
  }
  #lead {
    padding: 147px 0 0;
  }
  #lead .wrap {
    max-width: 1244px;
    width: 100%;
    padding: 0 20px;
  }
  #lead .content {
    display: flex;
    align-items: flex-start;
  }
  #lead .photo {
    flex: 1;
    margin-left: -148px;
  }
  #lead .photo img {
    height: 818px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1499px) {
  #lead .photo {
    margin-left: calc(-50vw + 50%);
  }
}

@media screen and (min-width: 768px) {
  #lead .gr-txt {
    margin: 19px 0 0 93px;
    width: 457px;
  }
  #lead .gr-txt h2 {
    margin: 0 68px 90px auto;
    width: fit-content;
  }
  #lead .gr-txt h2 .ttl-eng {
    font-size: 16px;
    padding: 16px 0 0;
  }
  #lead .gr-txt h2 .ttl-eng::before {
    width: 7px;
    height: 7px;
    top: 0;
    left: 17px;
  }
  #lead .gr-txt h2 .ttl-jp {
    font-size: 40px;
    line-height: 70px;
    position: relative;
    top: -7px;
    left: -32px;
  }
  #lead .gr-txt .txt {
    text-align: justify;
  }
  #lineup {
    padding: 128px 0 181px;
  }
  #lineup .set .sub span {
    font-size: 40px;
    padding: 18px 0;
    line-height: 43px;
  }
  #lineup .set .sub span:last-child {
    margin: 36px 13px 0 0;
  }
  #lineup .set .num {
    font-size: 130px;
    line-height: 120px;
  }
  #lineup .set .price-box {
    font-size: 30px;
    line-height: 60px;
    margin: 44px 0 40px;
    letter-spacing: 0.01em;
  }
  #lineup .set .price-box dd {
    font-size: 24px;
    margin-top: 2px;
    letter-spacing: 0.07em;
  }
  #lineup .set1 .wrap {
    max-width: 1230px;
    width: 100%;
    padding: 0 20px;
  }
  #lineup .set1 h2 {
    font-size: 100px;
    text-align: right;
    line-height: 152px;
    margin-right: -7px;
  }
  #lineup .set1 .note {
    text-align: right;
    font-size: 14px;
    margin: 35px -5px 0 0;
    letter-spacing: 0.1em;
  }
  #lineup .set1 .gr-pt {
    position: absolute;
    top: -54px;
    left: -126px;
  }
  #lineup .set1 .gr-pt .sub {
    position: absolute;
    top: 304px;
    right: 76px;
  }
  #lineup .set1 .catch {
    width: 614px;
    margin: -7px 86px -135px auto;
    position: relative;
    z-index: -1;
  }
  #lineup .set1 .item1 {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
  #lineup .set1 .item1 .photo {
    margin-right: -186px;
    flex: 1;
  }
  #lineup .set1 .item1 .photo img {
    height: 541px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1499px) {
  #lineup .set1 .item1 .photo {
    margin-right: calc(-50vw + 50%);
  }
}

@media screen and (min-width: 768px) {
  #lineup .set1 .gr-txt {
    margin: -5px 124px 0 0;
    width: 411px;
  }
  #lineup .set1 .gr-txt .num {
    margin-right: -47px;
  }
  #lineup .set1 .gr-txt .price-box dd {
    margin: -1px 3px 0 0;
  }
  #lineup .set1 .gr-txt .txt {
    line-height: 36px;
    text-align: justify;
  }
  #lineup .set2 {
    padding: 30px 0 0;
  }
  #lineup .set2 .catch {
    margin: 0 0 0 -162px;
  }
  #lineup .set2 .sub {
    top: 209px;
    right: 459px;
  }
  #lineup .set2 .num {
    position: absolute;
    top: -97px;
    right: -106px;
  }
  #lineup .set2 .lineup-slider {
    margin-top: -264px;
  }
  #lineup .set2 .lineup-slider .slide {
    margin: 0 413px 0 -250px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1499px) {
  #lineup .set2 .lineup-slider .slide {
    margin-left: calc(-50vw + 50%);
  }
}

@media screen and (min-width: 768px) {
  #lineup .set2 .lineup-slider .slide .img {
    height: 682px;
  }
  #lineup .set2 .lineup-slider .slide-text {
    position: absolute;
    top: 104px;
    right: -99px;
    width: 414px;
    min-height: auto;
  }
  #lineup .set2 .lineup-slider .slide-text .price-box {
    margin: 0 0 30px;
  }
  #lineup .set2 .lineup-slider .slide-text .price-box dt {
    letter-spacing: -0.03em;
  }
  #lineup .set2 .lineup-slider .slide-text .price-box dd {
    margin: -4px 17px 0 0;
  }
  #lineup .set2 .lineup-slider .slide-text .txt {
    line-height: 36px;
    text-align: justify;
  }
  #lineup .set2 .lineup-slider .slide-thumb {
    margin: -68px -766px 0 416px;
    position: relative;
    z-index: 10;
    flex-wrap: nowrap;
  }
  #lineup .set2 .lineup-slider .slide-thumb .thumb {
    transition: 0.3s all ease-in-out;
  }
  #lineup .set2 .lineup-slider .slide-thumb .thumb:hover {
    opacity: 0.8;
  }
  #lineup .set3 {
    padding: 20px 0 0;
  }
  #lineup .set3 .wrap {
    width: 100%;
    max-width: 1304px;
  }
  #lineup .set3 .catch {
    margin-left: -124px;
  }
  #lineup .set3 .sub {
    margin: 0;
    position: absolute;
    top: 130px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
  }
  #lineup .set3 .content {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
    margin-top: -288px;
  }
  #lineup .set3 .content .gr-pt .photo img {
    height: auto;
    width: 100%;
  }
  #lineup .set3 .content .gr-pt h3 {
    font-size: 100px;
  }
  #lineup .set3 .content .col {
    width: 50%;
  }
  #lineup .set3 .content .col .gr-txt .inner {
    max-width: 491px;
    margin: 0 auto;
    padding: 0 30px;
  }
  #lineup .set3 .content .col .gr-txt .price-box {
    margin: 52px 0 21px;
  }
  #lineup .set3 .content .col .gr-txt .price-box dd {
    margin: 0 -31px 0 0;
  }
  #lineup .set3 .content .col .gr-txt .txt {
    line-height: 36px;
    text-align: justify;
    margin: 0 -25px 0 7px;
  }
  #lineup .set3 .content .col-r .num {
    margin-bottom: 0;
    text-align: right;
    position: absolute;
    right: 56px;
    bottom: -27px;
    z-index: 2;
  }
  #lineup .set3 .content .col-r .gr-pt h3 {
    top: -64px;
    left: auto;
    right: 27px;
  }
  #lineup .set3 .content .col-r .gr-txt .inner {
    max-width: 505px;
  }
  #lineup .set3 .content .col-r .gr-txt .inner .price-box {
    margin: 61px 0 21px;
  }
  #lineup .set3 .content .col-r .gr-txt .inner .price-box dd {
    margin: 0 -19px 0 0;
  }
  #lineup .set3 .content .col-r .gr-txt .inner .txt {
    margin: 0 -13px 0 7px;
  }
  #lineup .set3 .content .col-l {
    margin-top: 128px;
  }
  #lineup .set3 .content .col-l .gr-pt h3 {
    top: auto;
    left: -7px;
    bottom: -109px;
  }
  #lineup .set4 {
    padding: 110px 0 0;
  }
  #lineup .set4 .num {
    margin: 0 0 40px -46px;
  }
  #lineup .set4 .txt {
    margin: 60px 0 0 364px;
    width: 530px;
    text-align: justify;
    line-height: 36px;
  }
  #lineup .set4 .photo {
    margin-right: -250px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1499px) {
  #lineup .set4 .photo {
    margin-right: calc(-50vw + 50%);
  }
}

@media screen and (min-width: 768px) {
  #lineup .set4 .photo-cr {
    margin: 0;
    width: auto;
    position: absolute;
    top: 587px;
    left: -209px;
  }
  #lineup .set4 .catch {
    top: -174px;
    right: -259px;
    width: auto;
  }
  #lineup .set4 .sub {
    top: 39px;
    left: auto;
    transform: none;
    right: -22px;
  }
  #lineup .set4 .sub span:not(:first-child) {
    margin: 0 13px 0 0;
  }
  #lineup .set5 {
    padding: 0;
  }
  #lineup .set5 .catch {
    margin: -67px 0 0 -163px;
  }
  #lineup .set5 .col-l {
    margin: -40px 0px 0 6px;
    width: 346px;
    min-height: 425px;
  }
  #lineup .set5 .col-l .num {
    position: static;
    text-align: right;
    margin: 0 -6px 71px 0;
  }
  #lineup .set5 .col-l .txt {
    line-height: 36px;
    text-align: justify;
  }
  #lineup .set5 .col-r {
    position: absolute;
    top: 372px;
    left: 418px;
    right: -204px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1399px) {
  #lineup .set5 .col-r {
    right: calc(-50vw + 50%);
  }
}

@media screen and (min-width: 768px) {
  #lineup .set5 .col-r .js .item .js-img img {
    height: 546px;
  }
  #lineup .set5 .col-r .js .item .note {
    font-size: 20px;
    left: 34px;
    bottom: 40px;
    letter-spacing: 0.1em;
  }
  #lineup .set5 .col-r .sub {
    position: absolute;
    top: -37px;
    left: 85px;
  }
  #lineup .set5 .col-r .sub span:not(:first-child) {
    margin: 0 13px 0 0;
  }
  #wine .set1 {
    position: relative;
    margin-left: 45px;
  }
  #wine .set1 .gr-header {
    position: relative;
  }
  #wine .set1 .gr-header .box-parallax {
    height: 700px;
  }
  #wine .set1 .gr-header h2 {
    top: 251px;
    left: 117px;
    font-size: 100px;
    line-height: 152px;
    letter-spacing: -0.02em;
  }
  #wine .set1 .gr-txt {
    margin: 0;
    position: absolute;
    top: 207px;
    width: 432px;
    color: #fff;
    right: 152px;
  }
  #wine .set1 .gr-txt h3 {
    font-size: 40px;
    line-height: 70px;
    letter-spacing: 0;
    margin: 0 0 48px -4px;
  }
  #wine .set1 .gr-txt .txt {
    text-align: justify;
  }
  #wine .set2 {
    padding: 0;
  }
  #wine .set2 .item1 {
    display: flex;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
  #wine .set2 .item1 .gr-txt {
    margin: 110px 48px 0 -45px;
    width: 471px;
  }
  #wine .set2 .item1 .gr-txt h3 {
    font-size: 36px;
    line-height: 70px;
    margin-bottom: 0;
    letter-spacing: 0;
  }
  #wine .set2 .item1 .gr-txt .txt {
    text-align: justify;
    margin: 32px 34px 0 0;
  }
  #wine .set2 .item1 .photo {
    margin: -58px -229px 0 0;
    flex: 1;
  }
  #wine .set2 .item1 .photo img {
    height: 520px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1458px) {
  #wine .set2 .item1 .photo {
    margin-right: calc(-50vw + 50%);
  }
}

@media screen and (min-width: 768px) {
  #wine .set2 .item2 {
    padding: 181px 0 117px;
  }
  #wine .set2 .item2 .catch {
    margin: 0;
    position: absolute;
    top: -174px;
    left: -147px;
    z-index: -1;
  }
  #wine .set2 .item2 .sub {
    top: -6px;
    left: -30px;
  }
  #wine .set2 .item2 .sub span {
    font-size: 32px;
    padding: 15px 0;
    line-height: 35px;
  }
  #wine .set2 .item2 .sub span:not(:first-child) {
    margin-right: 10px;
  }
  #wine .set2 .item2 .content .col-l {
    position: absolute;
    top: 88px;
    left: -67px;
    right: 423px;
  }
  #wine .set2 .item2 .content .col-l .js li img {
    height: 491px;
  }
  #wine .set2 .item2 .content .col-l .js .slick-dots {
    margin: 7px 0 0;
    position: relative;
    left: -19px;
  }
  #wine .set2 .item2 .content .col-r {
    margin: 0 -103px 0 auto;
    width: 436px;
    min-height: 442px;
  }
  #wine .set2 .item2 .content .col-r .txt {
    text-align: justify;
  }
  #wine .set2 .item2 .content .col-r .ins {
    margin-top: 84px;
  }
  #wine .set2 .item2 .btn-popup {
    margin: 95px auto 0;
  }
  #reserve {
    padding: 120px 0 150px;
  }
  #reserve h2 {
    font-size: 36px;
  }
  #reserve .tel {
    margin: 65px 0 32px;
  }
  #reserve .tel dt {
    font-size: 23px;
    margin-bottom: 31px;
  }
  #reserve .tel dd img {
    width: auto;
    margin: 0px 7px 0 0;
    position: relative;
    top: -12px;
    left: 0px;
  }
  #reserve .tel dd span {
    font-size: 51px;
  }
  #reserve .reserve-btn {
    max-width: 399px;
    margin: 0 auto;
  }
  #reserve .reserve-btn a {
    font-size: 26px;
    padding: 30px 20px 32px;
    border-radius: 49px;
  }
  #reserve .reserve-btn a img {
    width: 26px;
    margin: 0px 18px 0 0;
    position: relative;
    top: -3px;
    left: -4px;
  }
}

@media screen and (max-width: 1399px) and (min-width: 768px) {
  #lineup .set3 .content .col-l .gr-pt h3 {
    left: 30px;
  }
}

@media screen and (max-width: 1280px) and (min-width: 768px) {
  #lineup .set2 .num {
    right: calc(-50vw + 50% + 30px);
  }
  #lineup .set2 .lineup-slider .slide-text {
    right: calc(-50vw + 50% + 30px);
  }
  #wine .set2 .item2 .content .col-r {
    margin-right: calc(-50vw + 50% + 30px);
  }
  #wine .set2 .item2 .content .col-l {
    left: -100px;
  }
}

@media screen and (max-width: 1230px) and (min-width: 768px) {
  #lineup .set3 .content .col-l .gr-pt h3 {
    bottom: -40px;
  }
}

@media screen and (max-width: 1150px) and (min-width: 768px) {
  #lineup .set4 .num {
    margin-left: calc(-50vw + 50% + 20px);
  }
  #wine .set2 .item1 .gr-txt {
    margin-left: calc(-50vw + 50% + 30px);
  }
  #wine .set2 .item2 .sub {
    left: 0;
  }
  #wine .set2 .item2 .content .col-l {
    left: calc(-50vw + 50%);
    right: 450px;
  }
}

@media screen and (min-width: 1500px) {
  #key .gr-img li img {
    height: 767px;
    width: 100%;
    object-fit: cover;
  }
}

#bnr {
  padding: 10vw 0;
  position: relative;
}

#bnr:before {
  content: '';
  width: 70vw;
  height: 70vw;
  background-image: url("../img/about/mono.png");
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  left: -18vw;
  top: 78vw;
}

#bnr .txt-deco {
  color: #6e5142;
  font-size: 13vw;
  letter-spacing: 0;
  line-height: 15vw;
  white-space: nowrap;
}

#bnr .deco1 {
  margin: 0 0 2vw -6vw;
}

#bnr .deco2 {
  margin-top: 8vw;
}

#bnr .col-left {
  width: 77vw;
  position: relative;
  margin: 0 auto 12vw;
}

#bnr .col-right .ttl {
  margin: 0 auto 10vw;
  white-space: nowrap;
}

#bnr .col-right .btn-common {
  margin-bottom: 4vw;
}

@media screen and (min-width: 768px) {
  #bnr {
    padding: 84px 0 93px;
  }
  #bnr:before {
    width: 715px;
    height: 715px;
    left: calc(50% - 930px);
    top: 419px;
  }
  #bnr .txt-deco {
    font-size: 135px;
    line-height: 100px;
  }
  #bnr .deco1 {
    margin: 0 0 20px -116px;
  }
  #bnr .deco2 {
    text-align: right;
    margin: 25px 29px 0 0px;
  }
  #bnr .col-left {
    width: 602px;
    margin: 0 0 0 54px;
  }
  #bnr .col-right {
    width: 421px;
  }
  #bnr .col-right .ttl {
    margin: 40px auto 91px;
  }
  #bnr .col-right .btn-common {
    margin-bottom: 19px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1450px) {
  #bnr .deco1 {
    margin-left: calc(-50vw + 51%);
  }
  #bnr .blk {
    justify-content: center;
  }
  #bnr .col-left {
    margin: 0;
  }
  #bnr .col-right {
    margin-left: 50px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  #bnr .deco2 {
    margin-right: 0;
  }
  #bnr .col-right {
    width: 400px;
  }
  #bnr .col-right .btn-common {
    width: 100%;
  }
}
