body {
  color: #3c3431;
}

.fnt-zen-maru {
  font-family: "Zen Maru Gothic", sans-serif;
}

.ttl-shared {
  background: url("../img/menu/deco_ttl.png") no-repeat center left/30%,
    url("../img/menu/deco_ttl.png") no-repeat center right/30%;
  margin: 0 auto;
  padding: 0 22vw;
  font-size: 5vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.4em;
}
@media screen and (min-width: 768px) {
  .ttl-shared {
    background-size: auto;
    padding: 0 122px;
    font-size: 26px;
  }
}

#sec1 .wrap::before {
  content: "";
  position: absolute;
  background: url("../img/menu/sec1_deco.png") no-repeat;
  background-size: 100%;
  height: 80vw;
  top: 0;
  left: 10%;
  right: 10%;
  z-index: -1;
}
#sec1 h2 {
  padding-top: 35vw;
  margin: 0 auto;
}
#sec1 h2 span {
  display: block;
  border-right: 1px solid rgba(0, 0, 0, 0.5);
  padding-right: 2vw;
  font-size: 4.8vw;
  height: -moz-fit-content;
  height: fit-content;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.4em;
}
#sec1 h2 span + span {
  margin-right: 10vw;
}
#sec1 .txt {
  margin-top: 20vw;
  letter-spacing: 0.2em;
}
#sec1 .txt li + li {
  margin-top: 5vw;
}
@media screen and (min-width: 768px) {
  #sec1 .wrap {
    display: flex;
    justify-content: space-between;
  }
  #sec1 .wrap::before {
    width: 597px;
    height: 560px;
    top: 0;
    left: auto;
    right: -205px;
  }
  #sec1 h2 {
    order: 2;
    padding-top: 223px;
    min-height: 415px;
    margin: 0 103px 0 0;
  }
  #sec1 h2 span {
    padding: 2px 13px 0 0;
    font-size: 26px;
  }
  #sec1 h2 span + span {
    margin-right: 60px;
  }
  #sec1 .txt {
    text-align: justify;
    order: 1;
    width: 418px;
    margin: 492px 0 0 40px;
  }
  #sec1 .txt li + li {
    margin-top: 40px;
  }
}

#sec2 {
  padding-top: 20vw;
}
#sec2 .note {
  margin-top: 10vw;
}
#sec2 .note li {
  font-size: 12px;
  letter-spacing: 0.3em;
}
#sec2 .set {
  margin-top: 10vw;
}
#sec2 .set .group-txt {
  background: url("../img/shared/pt1.jpg") repeat center;
  margin-top: 12vw;
}
#sec2 .set .group-txt .name-price {
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5;
}
#sec2 .set .group-txt .name-price * {
  letter-spacing: 0.2em;
}
#sec2 .set .group-txt .name-price dt {
  margin: 0 auto;
}
#sec2 .set .group-txt .name-price dd {
  text-align: center;
  margin-top: 8vw;
}
#sec2 .set .group-txt .name-price dd small {
  font-size: 4vw;
}
#sec2 .set .group-txt .txt {
  margin-top: 8vw;
}
#sec2 .set .slider {
  height: 100vw;
}
#sec2 .set .slider img {
  max-width: unset;
  width: auto;
  height: 100vw;
}
@media screen and (min-width: 768px) {
  #sec2 {
    padding-top: 222px;
  }
  #sec2 .wrap {
    max-width: 1240px;
    padding: 0 20px;
  }
  #sec2 .note {
    margin: 3px 0 130px;
  }
  #sec2 .note li {
    font-size: 15px;
  }
  #sec2 .set {
    position: relative;
    margin-top: 0;
  }
  #sec2 .set .group-txt {
    box-sizing: border-box;
    width: 408px;
    min-height: 722px;
    margin: 0 0 0 80px;
    padding: 53px 0 0;
  }
  #sec2 .set .group-txt .name-price {
    font-size: 26px;
  }
  #sec2 .set .group-txt .name-price dd {
    margin-top: 37px;
  }
  #sec2 .set .group-txt .name-price dd small {
    font-size: 20px;
  }
  #sec2 .set .group-txt .txt {
    text-align: justify;
    max-width: 280px;
    margin: 62px auto 0;
    letter-spacing: 0.2em;
  }
  #sec2 .set .slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 722px;
  }
  #sec2 .set .slider img {
    height: 722px;
  }
  #sec2 .set + .set {
    margin-top: 22px;
  }
  #sec2 .set2 .group-txt {
    margin: 0 80px 0 auto;
    padding-top: 163px;
  }
  #sec2 .set2 .group-txt .name-price dd {
    margin-top: 54px;
  }
  #sec2 .set2 .group-txt .txt {
    margin-top: 92px;
  }
  #sec2 .set3 .group-txt {
    padding-top: 176px;
  }
  #sec2 .set3 .group-txt .name-price dd {
    margin-top: 46px;
  }
  #sec2 .set3 .group-txt .txt {
    margin-top: 85px;
  }
}

#sec3 {
  padding: 40vw 4vw 0;
}
#sec3 .ttl-shared {
  margin-bottom: 10vw;
}
#sec3 .set .col:nth-child(1) {
  padding: 15vw 10vw 10vw;
}
#sec3 .set .col:nth-child(1) h3 {
  border-bottom: 2px dashed rgba(0, 0, 0, 0.5);
  width: 80%;
  margin: 0 auto;
  padding-bottom: 7vw;
  text-align: center;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.9230769231;
  letter-spacing: 0.4em;
}
#sec3 .set .col:nth-child(1) .txt {
  margin-top: 7vw;
  letter-spacing: 0.2em;
}
#sec3 .set .col:nth-child(1) .deco {
  margin: 7vw auto 0;
}
#sec3 .set1 .col:nth-child(1) {
  background: rgba(223, 212, 192, 0.5);
}
#sec3 .set1 .col:nth-child(1) .deco {
  width: 35%;
}
#sec3 .set2 .col:nth-child(1) {
  background: rgba(196, 179, 150, 0.5);
}
#sec3 .set2 .col:nth-child(1) .deco {
  width: 45%;
}
#sec3 .set3 .col:nth-child(1) {
  background: rgba(248, 215, 140, 0.5);
}
#sec3 .set3 .col:nth-child(1) .deco {
  width: 28.5%;
}
@media screen and (min-width: 768px) {
  #sec3 {
    box-sizing: border-box;
    padding: 240px 26px 0;
  }
  #sec3 .ttl-shared {
    margin-bottom: 135px;
  }
  #sec3 .set {
    display: flex;
    justify-content: space-between;
  }
  #sec3 .set .col {
    width: 50%;
  }
  #sec3 .set .col:nth-child(1) {
    position: relative;
    box-sizing: border-box;
    padding: 102px 15px 0;
  }
  #sec3 .set .col:nth-child(1) h3 {
    width: 344px;
    padding-bottom: 43px;
    font-size: 26px;
  }
  #sec3 .set .col:nth-child(1) .txt {
    text-align: center;
    margin-top: 49px;
  }
  #sec3 .set .col:nth-child(1) .deco {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: -moz-fit-content !important;
    width: fit-content !important;
    margin-top: 0px;
  }
  #sec3 .set .col:nth-child(2) .photo {
    height: 750px;
  }
  #sec3 .set .col:nth-child(2) .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  #sec3 .set1 .col:nth-child(1),
  #sec3 .set3 .col:nth-child(1) {
    order: 2;
  }
  #sec3 .set1 .col:nth-child(2),
  #sec3 .set3 .col:nth-child(2) {
    order: 1;
  }
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  #sec3 .set .col:nth-child(1) .txt {
    font-size: 13px;
    letter-spacing: 0.15em;
  }
}

#sec4 {
  padding-top: 20vw;
}
#sec4 h2 {
  margin: 0 auto;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.4em;
}
#sec4 .group-link {
  margin-top: 10vw;
}
#sec4 .group-link li a {
  position: relative;
  display: block;
  text-align: center;
  color: #fff;
  padding: 10vw 0 25vw;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.4em;
}
#sec4 .group-link li a::before {
  content: "";
  position: absolute;
  background: url("../img/menu/sec3_icon_popup.png") no-repeat;
  background-size: 100%;
  width: 10vw;
  height: 10vw;
  bottom: 7vw;
  left: 50%;
  transform: translateX(-50%);
}
#sec4 .group-link li:nth-child(1) a {
  background: #3c3431;
}
#sec4 .group-link li:nth-child(2) {
  margin-top: 5vw;
}
#sec4 .group-link li:nth-child(2) a {
  background: #574b3d;
}
@media screen and (min-width: 768px) {
  #sec4 {
    padding-top: 350px;
  }
  #sec4 h2 {
    font-size: 26px;
  }
  #sec4 .group-link {
    display: flex;
    justify-content: space-between;
    margin: 145px 28px 0;
  }
  #sec4 .group-link li {
    width: calc(50% - 27px);
  }
  #sec4 .group-link li a {
    padding: 69px 0 130px;
    font-size: 26px;
    letter-spacing: 0.2em;
    transition: 0.3s linear;
  }
  #sec4 .group-link li a::before {
    width: 48px;
    height: 48px;
    bottom: 39px;
  }
  #sec4 .group-link li a:hover {
    opacity: 0.7;
  }
  #sec4 .group-link li:nth-child(2) {
    margin-top: 0;
  }
}

#sec5 {
  position: relative;
  background: url("../img/menu/sec5_deco1.png") no-repeat center top/100%;
  margin-top: 30vw;
}
#sec5 h3 {
  font-size: 4.8vw;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.4em;
}
#sec5 .set1 .js-gallery {
  align-items: center;
  display: flex;
  justify-content: center;
  aspect-ratio: 16/9;
  position: relative;
}
#sec5 .set1 .js-gallery .js-gallery-inner {
  aspect-ratio: 16/9;
  display: block;
  position: relative;
  width: 50%;
  translate: none;
  rotate: none;
  scale: none;
}
#sec5 .set1 .js-gallery .js-gallery-inner li {
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
}
#sec5 .set1 .js-gallery .js-gallery-inner li img {
  max-width: unset;
  width: 100%;
}
#sec5 .set1 .js-gallery .js-gallery-inner li:nth-child(1) {
  aspect-ratio: 13.5/9;
  left: 50%;
  top: 50%;
  width: 100%;
  z-index: 3;
}
#sec5 .set1 .js-gallery .js-gallery-inner li:nth-child(2) {
  left: 80%;
  top: -37.5%;
  width: 39.5%;
}
#sec5 .set1 .js-gallery .js-gallery-inner li:nth-child(3) {
  left: -23%;
  top: 23.8%;
  width: 42.5%;
}
#sec5 .set1 .js-gallery .js-gallery-inner li:nth-child(4) {
  right: -61%;
  top: 84.7%;
  width: 39.5%;
}
#sec5 .set1 .js-gallery .js-gallery-inner li:nth-child(5) {
  left: -7%;
  top: 139.5%;
  width: 44%;
}
#sec5 .set1 .js-gallery .js-gallery-inner li:nth-child(6) {
  left: 47.5%;
  top: 150.5%;
  width: 61.5%;
}
#sec5 .set2 {
  position: relative;
  background: url("../img/shared/pt1.jpg") repeat center;
  padding-top: 20vw;
}
#sec5 .set2::before {
  content: "";
  position: absolute;
  background: url("../img/menu/sec5_deco2.png") no-repeat;
  background-size: 100%;
  width: 140vw;
  height: 48vw;
  top: 53vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
#sec5 .set2 h2 {
  background: url("../img/menu/sec5_ttl_deco.png") no-repeat center top/11vw
    auto;
  padding-top: 20vw;
  margin: 0 auto;
  font-size: 4.8vw;
  line-height: 2.6923076923;
  font-weight: 500;
  letter-spacing: 0.4em;
}
#sec5 .set2 h3 {
  text-align: center;
  margin-top: 35vw;
  position: relative;
}
#sec5 .set2 h3::before {
  content: "";
  background: url(../img/menu/sec5_deco_ttl.png) no-repeat 0 0/100%;
  width: 165%;
  height: 50vw;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
}
#sec5 .set2 .txt {
  margin-top: 28vw;
  letter-spacing: 0.2em;
}
#sec5 .set2 .photo1 {
  margin: 10vw 0 0 25%;
}
#sec5 .set2 .photo2 {
  margin: -13vw 55% 0 0;
}
#sec5 .set3 {
  position: relative;
}
#sec5 .set3::before {
  content: "";
  position: absolute;
  background: url("../img/menu/sec5_deco2.png") no-repeat;
  background-size: 100%;
  width: 140vw;
  height: 48vw;
  top: 53vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
#sec5 .set3 .photo3 {
  margin: 10vw 0 0 55%;
}
#sec5 .set3 h3 {
  margin: 30vw auto 0;
}
#sec5 .set3 .txt {
  margin-top: 10vw;
  letter-spacing: 0.2em;
}
#sec5 .set3 .txt li + li {
  margin-top: 5vw;
}
#sec5 .set3 .photo4 {
  margin-top: 10vw;
}
@media screen and (min-width: 768px) {
  #sec5 {
    margin-top: 183px;
    padding-top: 40px;
  }
  #sec5 .wrap {
    box-sizing: border-box;
    max-width: 1040px;
    padding: 0 20px;
  }
  #sec5 h3 {
    font-size: 26px;
  }
  #sec5 .set1 .js-gallery .js-gallery-inner {
    width: 40%;
  }
  #sec5 .set2 {
    padding-top: 172px;
  }
  #sec5 .set2::before {
    width: 996px;
    height: 330px;
    top: 358px;
    left: -132px;
    transform: none;
  }
  #sec5 .set2 h2 {
    background-size: auto;
    padding-top: 117px;
    font-size: 26px;
  }
  #sec5 .set2 h3 {
    text-align: left;
    margin-top: 206px;
  }
  #sec5 .set2 h3::before {
    width: 1000px;
    height: 330px;
    left: -580px;
    top: 50%;
    transform: translate(0, -50%);
  }
  #sec5 .set2 .txt {
    margin: 193px 0 0 106px;
  }
  #sec5 .set2 .photo1 {
    position: absolute;
    top: 417px;
    left: calc(50% + 110px);
    right: -170px;
    margin: 0;
    height: 765px;
  }
  #sec5 .set2 .photo1 img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  #sec5 .set2 .photo2 {
    margin: 91px 0 0 378px;
  }
  #sec5 .set3::before {
    width: 996px;
    height: 330px;
    top: 96px;
    left: auto;
    right: -17px;
    transform: none;
  }
  #sec5 .set3 .wrap {
    display: flex;
    justify-content: space-between;
  }
  #sec5 .set3 .photo3 {
    position: absolute;
    bottom: -253px;
    right: -230px;
    margin: 0 0 0 0;
  }
  #sec5 .set3 .group-txt {
    order: 2;
    margin-top: 155px;
  }
  #sec5 .set3 h3 {
    margin: 0;
  }
  #sec5 .set3 .txt {
    margin-top: 78px;
  }
  #sec5 .set3 .txt li + li {
    margin-top: 40px;
  }
  #sec5 .set3 .photo4 {
    order: 1;
    margin: 0 0 0 -178px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1500px) {
  #sec5 .set3 .photo3 {
    right: calc(-50vw + 50%);
  }
}

#sec6 .wrap {
  background: url("../img/menu/sec6_deco.png") no-repeat center bottom/135%;
  padding: 20vw 5%;
}
#sec6 a {
  position: relative;
  display: block;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
}
#sec6 a h2 {
  position: absolute;
  top: 4vw;
  left: 4vw;
  z-index: 1;
  color: #fff;
  font-size: 4.8vw;
  font-weight: 500;
  line-height: 1.9230769231;
  letter-spacing: 0.4em;
}
#sec6 a .arrow {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  width: 15vw;
}
@media screen and (min-width: 768px) {
  #sec6 {
    padding: 0 20px;
  }
  #sec6 .wrap {
    background-size: 100%;
    max-width: 1208px;
    margin: 0 auto;
    padding: 268px 0 131px;
  }
  #sec6 a {
    width: 675px;
    margin: 0 auto;
  }
  #sec6 a * {
    opacity: 1;
  }
  #sec6 a h2 {
    top: 39px;
    left: 48px;
    font-size: 26px;
  }
  #sec6 a .photo {
    transition: 0.3s linear;
  }
  #sec6 a .arrow {
    width: auto;
  }
  #sec6 a:hover .photo {
    filter: grayscale(100%);
  }
}

.remodal-wrapper {
  padding: 0;
}

.remodal {
  background: url("../img/shared/pt1.jpg") repeat center;
  text-align: left;
  padding: 20px 4% 50px;
  margin-bottom: 0;
}
.remodal .remodal-close {
  position: sticky;
  margin: 0px 0 0 auto;
  top: 20px;
}
.remodal .remodal-close::before {
  font-size: 45px;
}
.remodal h2 {
  background: url("../img/concept/deco_ttl.png") no-repeat left center/60px auto,
    url("../img/concept/deco_ttl.png") no-repeat right center/60px auto;
  display: flex;
  align-items: center;
  max-width: 240px;
  width: 100%;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 0.4em;
}
.remodal .note-lead {
  margin-top: 40px;
  font-size: 12px;
  letter-spacing: 0.15em;
}
.remodal .row {
  margin-top: 40px;
}
.remodal .row .col .item h3 {
  border: 1px solid #92845a;
  text-align: center;
  margin-bottom: 5px;
  font-size: 20px;
  line-height: 51px;
  letter-spacing: 0.2em;
}
.remodal .row .col .item dl {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #d7d0c4;
  padding: 12px 0;
  line-height: 26px;
}
.remodal .row .col .item dl * {
  letter-spacing: 0.05em;
}
.remodal .row .col .item dl.flex-end {
  align-items: flex-end;
}
.remodal .row .col .item dl dt {
  flex: 1;
}
.remodal .row .col .item dl dd {
  text-align: right;
}
.remodal .row .col .item .note {
  margin-top: 10px;
  line-height: 26px;
}
.remodal .row .col .item + .item {
  margin-top: 40px;
}
.remodal .row .col + .col {
  margin-top: 40px;
}
.remodal .remodal-close-bot {
  width: 40px;
  margin: 40px auto 0;
}
@media screen and (min-width: 768px) {
  .remodal {
    max-width: 100%;
    padding: 116px 20px;
  }
  .remodal .popup {
    box-sizing: border-box;
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto;
  }
  .remodal .remodal-close {
    margin-bottom: -45px;
  }
  .remodal h2 {
    background-size: auto;
    max-width: 266px;
    font-size: 22px;
  }
  .remodal .note-lead {
    text-align: center;
    margin-top: 25px;
    font-size: 15px;
    line-height: 30px;
  }
  .remodal .row {
    display: flex;
    justify-content: space-between;
    max-width: 1000px;
    margin: 107px auto 0;
  }
  .remodal .row .col {
    width: 320px;
  }
  .remodal .row .col .item h3 {
    margin-bottom: 3px;
    font-size: 22px;
  }
  .remodal .row .col .item dl {
    padding: 11px 0 14px;
  }
  .remodal .row .col .item .note {
    margin-top: 11px;
  }
  .remodal .row .col .item + .item {
    margin-top: 80px;
  }
  .remodal .row .col + .col {
    margin-top: 0;
  }
  .remodal .remodal-close-bot {
    cursor: pointer;
    width: 51px;
    margin-top: 78px;
  }
  .remodal .remodal-close-bot:hover {
    opacity: 0.7;
  }
} /*# sourceMappingURL=menu.css.map */
