header #key {
  width: 100%;
}
header #key .kv .slide {
  -webkit-mask: none;
          mask: none;
}
@media only screen and (min-width: 768px) {
  header #key {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 65%;
  }
  header #key .kv .slide {
    height: auto;
  }
  header .logo {
    left: 12%;
  }
  header .header-menu {
    right: auto;
    left: 9%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  header #key {
    max-width: 68%;
  }
  header .logo {
    top: 145px;
    left: 6%;
  }
  header .header-menu {
    top: 480px;
    left: 2%;
  }
}

#sec1 {
  margin: -20vw 0px 0px;
  padding: 32vw 0px 6vw;
  background: url("../img/menu/sec1_deco1.png") no-repeat top right/70%, url("../img/menu/sec1_deco2.png") no-repeat top 6vw left/50%;
}
#sec1 .wrap {
  z-index: 1;
}
#sec1 h2 {
  width: 100%;
  position: relative;
  z-index: 1;
}
#sec1 .sec1-slide {
  margin: -15vw -10% 0px;
}
#sec1 h3 {
  position: relative;
  z-index: 1;
  margin: -55vw 3vw -20vw auto;
  width: 25vw;
  max-width: 155px;
}
#sec1 .sec1-txt {
  margin: 6vw 0px 0px;
}
@media only screen and (min-width: 768px) {
  #sec1 {
    margin: -217px 0px 0px;
    padding: 268px 0px 0px;
    background-size: auto, auto;
    background-position: top right, top left;
  }
  #sec1 .wrap {
    max-width: 1140px;
    padding: 0px 25px;
  }
  #sec1 h2 {
    width: 931px;
    margin: 0px 50px 0px auto;
  }
  #sec1 .sec1-slide {
    margin: -165px -140px 0px;
    width: 1360px;
  }
  #sec1 h3 {
    width: 155px;
    margin: -340px 48px -162px auto;
  }
  #sec1 .sec1-row {
    flex-direction: row-reverse;
  }
  #sec1 .sec1-txt {
    width: 510px;
    margin: 34px 2% 0px 0px;
  }
  #sec1 .sec1-img {
    width: 602px;
    margin: 0px -85px 0px 0px;
  }
}

.bg-sec {
  position: relative;
  background: url("../img/menu/sec2_deco3.png") no-repeat bottom left/40%, url("../img/menu/sec2_bg_sp.png") no-repeat top center/cover;
}
.bg-sec::before {
  content: "";
  position: absolute;
  top: -8vw;
  right: 0px;
  width: 100%;
  height: 140vw;
  background: url("../img/menu/sec2_deco.png") top right/cover;
}
.bg-sec::after {
  content: "";
  position: absolute;
  top: 7vw;
  right: 0;
  width: 10vw;
  height: calc(100% - 7vw);
  clip-path: polygon(0 1%, 100% 0, 100% 100%, 0% 100%);
  background: url("../img/menu/sec2_deco2.jpg") repeat top left;
}
@media only screen and (min-width: 768px) {
  .bg-sec {
    background: url("../img/menu/sec2_deco3.png") no-repeat bottom left, url("../img/menu/sec2_bg.png") no-repeat top center/cover, url("../img/menu/sec2_deco.png") no-repeat top right;
  }
  .bg-sec::before {
    width: 1145px;
    height: 1756px;
    top: -330px;
  }
  .bg-sec::after {
    width: 210px;
    top: -4px;
    height: calc(100% + 4px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  .bg-sec::after {
    width: 10%;
  }
}

#sec2 {
  margin: -6vw 0px 0px;
  padding: 30vw 0px 0px;
  position: relative;
  z-index: 1;
}
#sec2 .sec2-imgdeco1 {
  width: 50%;
  margin: 0px 0px 0px auto;
}
#sec2 h2 {
  margin: 0px -7% 4vw -3%;
}
#sec2 .sec2-row {
  position: relative;
}
#sec2 .sec2-img2 {
  width: 90%;
  margin: 8vw auto;
}
#sec2 .sec2-txt1, #sec2 .sec2-txt2 {
  width: 85%;
  margin: 0px auto;
}
#sec2 .sec2-imgdeco2 {
  width: 50%;
  margin: 8vw 0px -8vw;
  position: relative;
  z-index: 1;
}
#sec2 .sec2-img3 {
  width: 90%;
  margin: 0px auto 8vw;
}
#sec2 .sec2-img4 {
  margin: 8vw 0px 0px;
}
@media only screen and (min-width: 768px) {
  #sec2 {
    margin: -88px 0px 0px;
    padding: 181px 0px 0px;
  }
  #sec2 .sec2-imgdeco1 {
    width: 336px;
    margin-right: -130px;
  }
  #sec2 h2 {
    width: 902px;
    margin: -208px 0px 52px 12px;
  }
  #sec2 .sec2-img1 {
    width: 739px;
    margin: 0px -75px 0px auto;
  }
  #sec2 .sec2-row2 {
    margin: 93px 0px 0px;
  }
  #sec2 .sec2-img2 {
    width: 438px;
    margin: 14px 0px 0px -25px;
  }
  #sec2 .sec2-txt1 {
    width: 420px;
    margin: 0px 83px 0px 0px;
  }
  #sec2 .sec2-box1 {
    position: absolute;
    top: -84px;
    left: -143px;
    width: 460px;
  }
  #sec2 .sec2-imgdeco2 {
    width: 376px;
    margin: 0px 0px -44px;
  }
  #sec2 .sec2-img3 {
    width: 445px;
    margin: 0px 0px 0px auto;
  }
  #sec2 .sec2-row3 {
    margin: 84px 0px 0px;
  }
  #sec2 .sec2-txt2 {
    width: 352px;
    margin: 67px 0px 0px;
  }
  #sec2 .sec2-img4 {
    width: 512px;
    margin: 0px 54px 0px 0px;
  }
}

#sec3 {
  padding: 10vw 0px 10vw;
  position: relative;
  z-index: 1;
}
#sec3 h2 {
  width: 80%;
  margin: 0px auto;
}
#sec3 .sec3-txt1 {
  text-align: center;
  margin: 4vw 0px 1vw;
}
#sec3 .sec3-slide {
  height: 290px;
}
#sec3 .sec3-slide .infiniteslide {
  align-items: flex-start !important;
}
#sec3 .sec3-slide p {
  margin: 0px 2px;
}
#sec3 .sec3-slide p span {
  text-align: center;
  color: #302115;
  font-size: 15px;
  line-height: 1.2;
  margin: 1vw 0px 0px;
  display: block;
}
#sec3 .sec3-slide p img {
  height: 200px;
  width: auto;
}
@media only screen and (min-width: 768px) {
  #sec3 {
    padding: 77px 0px 72px;
  }
  #sec3 h2 {
    width: 378px;
  }
  #sec3 .sec3-txt1 {
    margin: 11px 0px -20px;
  }
  #sec3 .sec3-slide {
    height: 385px;
  }
  #sec3 .sec3-slide p span {
    font-size: 20px;
    margin: 2px 0px 0px;
    line-height: 30px;
  }
  #sec3 .sec3-slide p img {
    height: 295px;
  }
}

#sec4 {
  position: relative;
  padding: 16vw 0px 20vw;
  background: url("../img/menu/sec4_deco1.png") no-repeat top 160vw right/70%, url("../img/menu/sec4_deco2.png") no-repeat bottom left/50%, url("../img/menu/sec4_deco3.png") no-repeat top 115vw left/130%;
}
#sec4 .sec4-bg {
  position: absolute;
  top: -2vw;
  left: 0px;
  width: 100%;
  height: 120vw;
  background: url("../img/menu/sec4_bg_sp.png") center/cover;
  -webkit-mask: url("../img/menu/sec4_mask_sp.png") no-repeat center/100% 100%;
          mask: url("../img/menu/sec4_mask_sp.png") no-repeat center/100% 100%;
}
#sec4 h2 {
  width: 95%;
  margin: 0px auto;
}
#sec4 h3 {
  width: 60%;
  max-width: 270px;
  margin: 6vw 0px 3vw;
}
#sec4 .sec4-txt1 {
  color: #fff;
  mix-blend-mode: difference;
}
#sec4 .sec4-img1 {
  width: 90%;
}
#sec4 .sec4-img2 {
  width: 90%;
  margin: -2vw -2vw 0px auto;
}
#sec4 .sec4-img3 {
  width: 90%;
  margin: -4vw 0px 10vw -2vw;
}
#sec4 .sec4-slide .slider-for .sec4-box2 dl {
  display: flex;
  margin: 2vw auto 4vw;
  justify-content: space-between;
  font-size: 4.5vw;
  color: #302115;
  width: 80%;
}
#sec4 .sec4-slide .slider-nav .slick-track {
  width: 100% !important;
  transform: none !important;
  display: flex;
  justify-content: space-between;
}
#sec4 .sec4-slide .slider-nav .slick-track::before, #sec4 .sec4-slide .slider-nav .slick-track::after {
  display: none;
}
#sec4 .sec4-slide .slider-nav .slick-track .slick-slide {
  width: 32%;
}
#sec4 .sec4-slide .slider-nav .slick-track p {
  background-color: #000;
}
#sec4 .sec4-slide .slider-nav .slick-track p img {
  opacity: 0.4;
}
#sec4 .sec4-slide .slider-nav .slick-track .slick-current p img {
  opacity: 1;
}
#sec4 h4 {
  width: 24%;
  margin: 8vw auto 4vw;
  max-width: 152px;
}
#sec4 .sec4-img5 {
  width: 90%;
  margin: 6vw 0px 0px;
}
#sec4 .sec4-img6 {
  width: 90%;
  margin: -2vw 0px 0px auto;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  #sec4 {
    padding: 104px 0px 226px;
    background-size: auto, auto, 100%;
    background-position: top 896px right, bottom left, top 704px left;
  }
  #sec4 .sec4-bg {
    top: -6px;
    height: 704px;
    -webkit-mask-image: url("../img/menu/sec4_mask.png");
            mask-image: url("../img/menu/sec4_mask.png");
  }
  #sec4 h2 {
    width: 437px;
  }
  #sec4 .sec4-row1 {
    margin: 19px 0px 0px;
  }
  #sec4 .sec4-box1 {
    width: 464px;
    margin: 57px 0px 0px;
  }
  #sec4 h3 {
    width: 270px;
    margin: 0px 0px 31px;
  }
  #sec4 .sec4-img1 {
    width: 457px;
    margin: 0px 24px 0px 0px;
  }
  #sec4 .sec4-img2 {
    width: 457px;
    margin: -192px -120px 0px auto;
  }
  #sec4 .sec4-img3 {
    width: 457px;
    margin: -182px 0px 92px 186px;
  }
  #sec4 .sec4-slide {
    width: 885px;
    margin: 0px auto;
  }
  #sec4 .sec4-slide .slider-for {
    width: 678px;
  }
  #sec4 .sec4-slide .slider-for .sec4-box2 dl {
    margin: 27px auto 0px;
    width: 394px;
    font-size: 31.5px;
  }
  #sec4 .sec4-slide .slider-nav {
    width: 172px;
    height: 422px;
  }
  #sec4 .sec4-slide .slider-nav .slick-track {
    flex-direction: column;
  }
  #sec4 .sec4-slide .slider-nav .slick-track .slick-slide {
    width: 100%;
    margin-bottom: 20px;
  }
  #sec4 .sec4-slide .slider-nav p {
    cursor: pointer;
  }
  #sec4 .sec4-slide .slider-nav p:hover {
    opacity: 0.8;
  }
  #sec4 .sec4-row2 {
    margin: 30px 0px 0px;
    flex-direction: row-reverse;
  }
  #sec4 .sec4-box3 {
    flex-direction: row-reverse;
    width: 350px;
    margin: 95px 0px 0px;
  }
  #sec4 h4 {
    width: 152px;
    margin: 0px;
  }
  #sec4 .sec4-txt2 {
    height: 460px;
    margin: 80px 0px 0px;
  }
  #sec4 .sec4-box4 {
    width: 636px;
    margin: 0px 0px 0px -52px;
  }
  #sec4 .sec4-img5 {
    width: 516px;
    margin: 0px;
  }
  #sec4 .sec4-img6 {
    width: 517px;
    margin: -10px 0px 0px auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #sec4 .sec4-img2 {
    margin-right: -35px;
  }
  #sec4 .sec4-img3 {
    margin-left: 86px;
  }
  #sec4 .sec4-img5 {
    margin-left: 20px;
  }
}

.bg-sec2 {
  position: relative;
}
.bg-sec2 .sec5-bgdeco {
  background: url("../img/menu/sec5_deco.png") no-repeat bottom right/40%, url("../img/menu/sec2_deco2.jpg") repeat-y top left/10vw, url("../img/shared/bg3.jpg") repeat top left;
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: calc(100% + 5vw);
  clip-path: polygon(0 5%, 100% 0, 100% 100%, 0% 100%);
}
@media only screen and (min-width: 768px) {
  .bg-sec2 .sec5-bgdeco {
    background-size: auto, 250px, auto;
    clip-path: polygon(0 12%, 100% 0, 100% 100%, 0% 100%);
    height: calc(100% + 190px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .bg-sec2 .sec5-bgdeco {
    background-size: auto, 8%, auto;
  }
}

#sec5 {
  position: relative;
  padding: 28vw 0px 10vw;
}
#sec5 .sec5-imgdeco {
  position: absolute;
  top: -18vw;
  right: 0px;
  width: 45vw;
}
#sec5 h2 {
  width: 90%;
  margin: 0px auto 6vw;
}
#sec5 .sec5-img2 {
  width: 85%;
  margin: -6vw auto 8vw;
  position: relative;
  z-index: 1;
}
#sec5 .sec5-txt {
  width: 85%;
  margin: 0px auto;
}
@media only screen and (min-width: 768px) {
  #sec5 {
    padding: 51px 0px 73px;
  }
  #sec5 .sec5-imgdeco {
    width: 401px;
    top: -315px;
  }
  #sec5 .sec5-row {
    width: 535px;
    margin: 0px -32px 0px auto;
  }
  #sec5 h2 {
    width: 100%;
    margin-bottom: 42px;
  }
  #sec5 .sec5-box1 {
    width: 614px;
    position: absolute;
    top: -20px;
    left: -130px;
  }
  #sec5 .sec5-img2 {
    width: 446px;
    margin: -23px auto 0px;
  }
  #sec5 .sec5-txt {
    width: 395px;
  }
}

#sec6 {
  position: relative;
  padding: 10vw 2% 16vw;
}
#sec6 .sec6-imgdeco {
  width: 32%;
  position: absolute;
  top: -30vw;
  left: 0px;
}
#sec6 .sec6-banner a {
  position: relative;
  padding: 6vw 4% 4vw;
}
#sec6 .sec6-banner a .sec6-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
#sec6 .sec6-banner a .sec6-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#sec6 .sec6-banner a h2 {
  position: relative;
  z-index: 1;
  width: 70%;
}
#sec6 .sec6-banner a .sec6-icon {
  width: 30px;
  margin: 20vw 0px 0px auto;
}
#sec6 .sec6-btn a {
  margin: 8vw auto 0px;
}
#sec6 .sec6-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7%;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  background: url("../img/shared/icon_popup3.png") center/cover;
}
@media only screen and (min-width: 768px) {
  #sec6 {
    padding: 0px 0px 115px;
  }
  #sec6 .sec6-imgdeco {
    top: -140px;
    width: 345px;
  }
  #sec6 .sec6-row {
    flex-direction: row-reverse;
  }
  #sec6 .sec6-banner a {
    width: 617px;
    margin: 0px -95px 0px 0px;
    padding: 30px 20px 18px 18px;
  }
  #sec6 .sec6-banner a:hover .sec6-img img {
    content: url("../img/menu/sec6_banner_on.jpg");
    opacity: 1;
  }
  #sec6 .sec6-banner a h2 {
    width: 287px;
  }
  #sec6 .sec6-banner a .sec6-icon {
    width: 31px;
    margin-top: 192px;
  }
  #sec6 .sec6-btn a {
    margin: 190px 0px 0px 57px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #sec6 .sec6-banner a {
    margin-right: -25px;
    width: 550px;
  }
  #sec6 .sec6-imgdeco {
    left: -80px;
  }
}

#sec7 {
  background: url("../img/menu/sec7_deco3.png") no-repeat bottom left/130%, url("../img/menu/sec7_deco1.png") no-repeat top left/50%, url("../img/menu/sec7_deco2.png") no-repeat bottom right/40%;
  padding: 16vw 0px;
}
#sec7 .sec7-box {
  box-sizing: border-box;
  padding: 10vw 4%;
  border: 1px solid #c2b9ab;
  position: relative;
  margin: 0px -4%;
}
#sec7 .sec7-box::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border: 1px solid #c2b9ab;
  transform: translate(-50%, -50%);
}
#sec7 .sec7-box h2 {
  width: 90%;
  margin: 0px auto;
}
#sec7 .sec7-box .sec7-txt1 {
  text-align: center;
  margin: 2vw 0px 6vw;
}
#sec7 .sec7-box .sec7-tel {
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  color: #302115;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}
#sec7 .sec7-box .sec7-tel i {
  display: inline-block;
  width: 26px;
  position: relative;
  top: -4px;
  margin-right: 6px;
}
#sec7 .sec7-box .sec7-txt2 {
  margin: 2vw 0px 10vw;
  position: relative;
}
#sec7 .sec7-box .sec7-txt2::before {
  content: "";
  position: absolute;
  bottom: -5vw;
  left: 0px;
  width: 100%;
  height: 2px;
  border-top: 1px solid #c2b9ab;
}
#sec7 .sec7-box .sec7-btn a {
  margin: 0px auto;
}
#sec7 .sec7-box .sec7-btn a i {
  margin-right: 8px;
}
#sec7 .sec7-banner a {
  margin: 10vw -12% 0px;
  box-sizing: border-box;
  padding: 24vw 0px;
  position: relative;
}
#sec7 .sec7-banner a .sec7-img {
  position: absolute;
  top: 0;
  left: 0px;
  width: 100%;
  height: 100%;
  transition: all 0.5s;
}
#sec7 .sec7-banner a .sec7-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#sec7 .sec7-banner a h3 {
  width: 60%;
  position: relative;
  z-index: 1;
  margin: 0px auto;
}
#sec7 .sec7-banner a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("../img/shared/icon_banner.png") center/cover;
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  #sec7 {
    background-size: auto, auto, auto;
    padding: 90px 0px 89px;
  }
  #sec7 .wrap {
    max-width: 1200px;
  }
  #sec7 .sec7-box {
    width: 885px;
    padding: 70px 145px 62px;
    margin: 0px auto;
  }
  #sec7 .sec7-box h2 {
    width: 472px;
  }
  #sec7 .sec7-box .sec7-txt1 {
    margin: 16px 0px 46px;
  }
  #sec7 .sec7-box .sec7-tel {
    letter-spacing: 0.15em;
    font-size: 45px;
    line-height: 45px;
  }
  #sec7 .sec7-box .sec7-tel i {
    width: 34px;
    top: -4px;
  }
  #sec7 .sec7-box .sec7-txt2 {
    margin: 18px 0px 52px;
    text-align: center;
  }
  #sec7 .sec7-box .sec7-txt2::before {
    bottom: -22px;
  }
  #sec7 .sec7-banner a {
    margin: 67px auto 0px;
    padding: 181px 0px 176px;
  }
  #sec7 .sec7-banner a h3 {
    width: 448px;
  }
  #sec7 .sec7-banner a:hover .sec7-img img {
    opacity: 1;
    content: url("../img/menu/sec7_banner_on.jpg");
  }
  #sec7 .sec7-banner a::after {
    width: 41px;
    height: 41px;
  }
}/*# sourceMappingURL=menu.css.map */