#sec1 {
  position: relative;
  padding: 18vw 0 30vw;
}
#sec1::before {
  content: '';
  position: absolute;
  background: url("../img/menu/s1_deco.png") no-repeat center/100% auto;
  width: 55vw;
  height: 36vw;
  top: 2vw;
  right: 50%;
}
#sec1:after {
  content: '';
  position: absolute;
  background: url("../img/menu/s1_deco2.png") no-repeat center/100% auto;
  width: 50vw;
  height: 32vw;
  bottom: 0;
  left: calc(50% + 10vw);
}
#sec1 .wrap {
  z-index: 2;
}
#sec1 h2 {
  text-align: center;
  font-size: 5vw;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
#sec1 h2 span {
  color: var(--claa2323);
  font-size: 6.5vw;
  letter-spacing: 0.1em;
}
#sec1 .txt {
  letter-spacing: 0.2em;
  margin: 8vw 0 0;
}
@media screen and (min-width: 768px) {
  #sec1 {
    padding: 166px 0 118px;
  }
  #sec1::before {
    width: 606px;
    height: 422px;
    top: 40px;
    right: calc(50% + 189px);
  }
  #sec1:after {
    width: 563px;
    height: 360px;
    left: calc(50% + 215px);
  }
  #sec1 h2 {
    letter-spacing: 0.33em;
    font-size: 31px;
  }
  #sec1 h2 span {
    letter-spacing: 0.33em;
    font-size: 40px;
  }
  #sec1 .txt {
    text-align: center;
    margin: 55px 0 0;
  }
}

#sec2 {
  margin: 2vw 0 0;
}
#sec2 h2 {
  text-align: center;
  font-size: 6vw;
  line-height: 1.5;
  letter-spacing: 0.23em;
}
#sec2 .sub-txt {
  text-align: center;
  margin: 6px 0 10vw;
  letter-spacing: 0.2em;
}
#sec2 .flex {
  position: relative;
}
@media screen and (max-width: 767px) {
  #sec2 .flex .img {
    margin: 0;
  }
}
#sec2 .flex dl {
  margin: 0 0 7vw;
  line-height: 1.5;
}
#sec2 .flex dl dt {
  font-size: 6vw;
  letter-spacing: 0.33em;
}
#sec2 .flex dl dd {
  margin: 3vw 0 0;
  font-size: 5vw;
  letter-spacing: 0.15em;
}
#sec2 .flex dl dd small {
  font-size: 4.8vw;
}
#sec2 .flex .txt {
  margin: 4vw 0 8vw;
  letter-spacing: 0.2em;
}
#sec2 .flex .img2 {
  text-align: right;
  margin: 0 10vw;
}
@media screen and (min-width: 768px) {
  #sec2 {
    margin: 12px 0 0;
  }
  #sec2 h2 {
    font-size: 36px;
    line-height: 65px;
  }
  #sec2 .sub-txt {
    margin: 6px 0 60px;
  }
  #sec2 .flex .img {
    width: 669px;
    position: absolute;
    top: -73px;
    left: -136px;
  }
  #sec2 .flex dl {
    margin: 0 0 0 auto;
    width: 440px;
    line-height: 1.5;
  }
  #sec2 .flex dl dt {
    font-size: 36px;
  }
  #sec2 .flex dl dd {
    margin: 17px 0 0 8px;
    font-size: 26px;
  }
  #sec2 .flex dl dd small {
    font-size: 23px;
  }
  #sec2 .flex .txt {
    margin: 24px 0 62px auto;
    width: 430px;
  }
  #sec2 .flex .img2 {
    margin: 0 auto;
    width: 850px;
  }
}

#sec3 {
  margin: 15vw 0 0;
}
#sec3 .group {
  position: relative;
}
#sec3 .group .sub-tit {
  font-size: 5vw;
  line-height: 1.5;
  letter-spacing: 0.33em;
}
#sec3 .group dl {
  line-height: 1.5;
  margin: 3vw 0 5vw;
}
#sec3 .group dl dt {
  font-size: 6vw;
  letter-spacing: 0.2em;
}
#sec3 .group dl dd {
  margin: 1vw 0 0;
  font-size: 5vw;
  letter-spacing: 0.15em;
}
#sec3 .group .txt {
  margin: 6vw 0 0;
  letter-spacing: 0.2em;
}
#sec3 .s3-slide {
  margin: 8vw 5vw 0;
}
@media screen and (max-width: 767px) {
  #sec3 .s3-slide .slick-dots {
    position: static;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 7vw 0 0;
  }
}
#sec3 .s3-slide .item dl {
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #sec3 .s3-slide .item dl {
    margin-top: 7vw;
  }
}
#sec3 .s3-slide .item dl dt {
  font-size: 6vw;
  line-height: 1.4;
  letter-spacing: 0.33em;
}
#sec3 .s3-slide .item dl dd {
  margin: 2vw 0 0;
  font-size: 5vw;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) {
  #sec3 {
    margin: 116px 0 0;
  }
  #sec3 .wrap {
    width: 1236px;
  }
  #sec3 .group {
    min-height: 459px;
  }
  #sec3 .group .left {
    max-width: 1000px;
    margin: 0 auto;
  }
  #sec3 .group .sub-tit {
    padding: 30px 0 0;
    font-size: 26px;
  }
  #sec3 .group dl {
    margin: 17px 0 0;
  }
  #sec3 .group dl dt {
    font-size: 36px;
  }
  #sec3 .group dl dd {
    margin: 6px 0 0 -3px;
    font-size: 23px;
  }
  #sec3 .group .txt {
    margin: 31px 0 0;
    width: 440px;
  }
  #sec3 .group .img {
    position: absolute;
    top: 0;
    right: 0;
    width: 639px;
    height: 459px;
    max-width: calc(50% + 21px);
  }
  #sec3 .s3-slide {
    max-width: 1012px;
    margin: 49px auto 0;
  }
  #sec3 .s3-slide .slick-dots {
    position: absolute;
    bottom: 74px;
    right: auto;
    left: 720px;
  }
  #sec3 .s3-slide .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  #sec3 .s3-slide .item dl {
    width: 473px;
    margin-bottom: 115px;
  }
  #sec3 .s3-slide .item dl dt {
    font-size: 36px;
    line-height: 50px;
  }
  #sec3 .s3-slide .item dl dd {
    margin: 7px 0 0;
    font-size: 23px;
  }
}

#sec4 {
  margin: 15vw 0 0;
  padding: 0 0 15vw;
}
#sec4 .group {
  position: relative;
}
#sec4 .group dl {
  margin: 0 0 5vw;
}
#sec4 .group dl dt {
  font-size: 6vw;
  line-height: 1.8;
  letter-spacing: 0.33em;
}
#sec4 .group dl dd {
  line-height: 1.35;
  margin: 3vw 0 0;
  font-size: 4.8vw;
  letter-spacing: 0.15em;
}
#sec4 .group dl dd span {
  letter-spacing: 0.15em;
  font-size: 5vw;
  display: inline-block;
  margin-left: 2vw;
}
#sec4 .group .txt {
  margin: 5vw 0 0;
  letter-spacing: 0.2em;
}
#sec4 .group2 {
  margin: 12vw 7vw 0;
  position: relative;
}
#sec4 .group2 h3 {
  margin: 0 0 5vw;
  font-size: 6vw;
  line-height: 1.7;
  letter-spacing: 0.33em;
}
#sec4 .group2 .txt {
  margin: 5vw 0 0;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 768px) {
  #sec4 {
    margin: 110px 0 0;
    padding: 0 0 99px;
  }
  #sec4 .wrap {
    width: 1200px;
  }
  #sec4 .group {
    min-height: 516px;
  }
  #sec4 .group dl {
    margin: 0 0 0 auto;
    width: 424px;
    padding: 14px 0 0;
  }
  #sec4 .group dl dt {
    font-size: 36px;
    line-height: 65px;
    margin-right: -30px;
  }
  #sec4 .group dl dd {
    margin: 17px 0 0;
    font-size: 23px;
  }
  #sec4 .group dl dd span {
    font-size: 26px;
    margin-left: 7px;
  }
  #sec4 .group .txt {
    margin: 30px -30px 0 auto;
    width: 455px;
  }
  #sec4 .group .img {
    position: absolute;
    top: 0;
    left: 0;
    width: 704px;
    height: 516px;
    max-width: calc(100% - 496px);
  }
  #sec4 .group2 {
    width: 970px;
    margin: 82px auto 0;
    min-height: 302px;
  }
  #sec4 .group2 h3 {
    width: 716px;
    margin: 0 auto;
    padding: 37px 0 0;
    font-size: 38px;
    line-height: 65px;
  }
  #sec4 .group2 .txt {
    width: 712px;
    margin: 16px auto 0;
  }
  #sec4 .group2 .img {
    position: absolute;
    top: 0;
    right: 0;
  }
}

#sec6 {
  background: var(--cl402c24);
  color: #fff;
  text-align: center;
  padding: 10vw 0 15vw;
}
#sec6 h2 {
  font-size: 11vw;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
#sec6 .sub-txt {
  margin: 0 0 5vw;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  #sec6 .s6-slide {
    margin: 0 7vw;
  }
}
#sec6 .s6-slide .slick-dots {
  position: static;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin: 5vw 0 0;
}
#sec6 .s6-slide .slick-dots li {
  border-color: #fff;
}
#sec6 .s6-slide .slick-dots li.slick-active {
  background: #fff;
}
@media (hover: hover) {
  #sec6 .s6-slide .slick-dots li:hover {
    background: #fff;
  }
}
#sec6 .s6-slide .item dl {
  line-height: 1.5;
  font-size: 5vw;
  margin: 5vw 0 0;
}
#sec6 .s6-slide .item dl dt {
  letter-spacing: 0.33em;
}
#sec6 .s6-slide .item dl dd {
  letter-spacing: 0.15em;
  margin: 3vw 0 0;
}
#sec6 .s6-slide .item dl dd small {
  font-size: 4.8vw;
}
@media screen and (min-width: 768px) {
  #sec6 {
    padding: 79px 0 76px;
  }
  #sec6 .wrap {
    width: 1088px;
  }
  #sec6 h2 {
    font-size: 100px;
  }
  #sec6 .sub-txt {
    margin: -12px 0 20px;
  }
  #sec6 .s6-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	  justify-content: center;
    gap: 0 36px;
  }
  #sec6 .s6-slide .item {
    width: calc((100% - 72px)/3);
  }
  #sec6 .s6-slide .item dl {
    font-size: 26px;
    margin: 30px 0 0;
  }
  #sec6 .s6-slide .item dl dt {
    margin: 0 -30px;
  }
  #sec6 .s6-slide .item dl dd {
    margin: 13px 0 0;
  }
  #sec6 .s6-slide .item dl dd small {
    font-size: 23px;
  }
}

#sec7 {
  position: relative;
  background: url("../img/menu/s7_deco.png") no-repeat center 40vw/250% auto;
}
#sec7::before {
  content: '';
  position: absolute;
  background: url("../img/menu/s7_line.png") no-repeat center top/100% auto;
  width: 60vw;
  height: 80vw;
  top: -40vw;
  left: 60%;
}
#sec7 .set1 {
  padding: 15vw 0 0;
  position: relative;
  z-index: 2;
}
#sec7 .set1 .right {
  text-align: center;
  padding: 0 0 10vw;
}
#sec7 .set1 .right h2 {
  line-height: 1.2;
  font-size: 11vw;
  letter-spacing: 0.05em;
}
#sec7 .set1 .right .img {
  margin: 5vw 12vw 7vw;
}
#sec7 .set1 .right .txt {
  margin: 0 var(--wrapPadding);
  letter-spacing: 0.2em;
}
#sec7 .set1 .group-img {
  width: 93.3%;
}
#sec7 .set1 .group-img .img2 {
  margin: 4vw 3.3vw 7vw 10vw;
}
#sec7 .set1 .group-img .btn-link {
  margin: 0 1.7vw 0 8.4vw;
}
#sec7 .set2 {
  margin: 15vw var(--wrapPadding) 0;
  text-align: center;
}
#sec7 .set2 .wrap {
  padding: 8vw 0 10vw;
  border-top: 1px solid rgba(64, 44, 36, 0.6);
  border-bottom: 1px solid rgba(64, 44, 36, 0.6);
}
#sec7 .set2 h3 {
  letter-spacing: 0.05em;
  font-size: 8vw;
  line-height: 1.2;
}
#sec7 .set2 .group-btn {
  margin: 7vw 1.7vw 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5vw 0;
}
@media screen and (max-width: 767px) {
  #sec7 .set2 .group-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  #sec7 {
    background: url("../img/menu/s7_deco.png") no-repeat top center;
  }
  #sec7::before {
    width: 544px;
    height: 744px;
    top: -338px;
    left: calc(50% + 347px);
  }
  #sec7 .set1 {
    padding: 143px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0 20px;
  }
  #sec7 .set1 .right {
    width: 418px;
    padding: 5px 0 0;
  }
  #sec7 .set1 .right h2 {
    font-size: 100px;
  }
  #sec7 .set1 .right .img {
    margin: 35px 0 72px;
  }
  #sec7 .set1 .right .txt {
    margin: 0 50px 0 -64px;
  }
  #sec7 .set1 .group-img {
    width: calc(50% + 88px);
    max-width: calc(100% - 470px);
  }
  #sec7 .set1 .group-img .img {
    height: 461px;
  }
  #sec7 .set1 .group-img .img2 {
    width: 603px;
    height: 373px;
    max-width: calc(100% - 85px);
    margin: 20px 85px 127px auto;
  }
  #sec7 .set1 .group-img .btn-link {
    margin: 0 127px 0 auto;
    width: 322px;
  }
  #sec7 .set2 {
    margin: 138px 0 0;
  }
  #sec7 .set2 .wrap {
    width: 1200px;
    padding: 52px 0 76px;
  }
  #sec7 .set2 h3 {
    font-size: 50px;
  }
  #sec7 .set2 .group-btn {
    margin: 40px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0 70px;
  }
  #sec7 .set2 .group-btn .btn-link {
    width: 322px;
  }
}

#popup-drink, #popup-food {
  position: relative;
  margin: 0 var(--wrapPadding);
  background: #fff;
  padding: 12vw 0;
}
#popup-drink .remodal-close, #popup-food .remodal-close {
  top: 30px;
  right: 30px;
}
@media screen and (max-width: 767px) {
  #popup-drink .remodal-close, #popup-food .remodal-close {
    width: 30px;
  }
}
#popup-drink h2, #popup-food h2 {
  font-size: 30px;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
#popup-drink .sub-txt, #popup-food .sub-txt {
  margin: 10px 0 30px;
}
#popup-drink .remodal-close2, #popup-food .remodal-close2 {
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  #popup-drink .remodal-close2, #popup-food .remodal-close2 {
    width: 130px;
  }
}
@media screen and (max-width: 767px) {
  #popup-drink .flex .col + .col, #popup-food .flex .col + .col {
    margin-top: 40px;
  }
}
#popup-drink .flex .col h4, #popup-food .flex .col h4 {
  font-size: 20px;
  line-height: 1.5;
  padding: 3.75px 0;
  color: #fff;
  background: var(--cl402c24);
  margin-bottom: 7px;
}
#popup-drink .flex .col h4 ~ h4, #popup-food .flex .col h4 ~ h4 {
  margin-top: 40px;
}
#popup-drink .flex .col h5, #popup-food .flex .col h5 {
  text-align: left;
  font-size: 17px;
}
#popup-drink .flex .col h5 ~ h5, #popup-food .flex .col h5 ~ h5 {
  margin-top: 20px;
}
#popup-drink .flex .col .sub-txt2, #popup-food .flex .col .sub-txt2 {
  text-align: center;
  margin-bottom: 12px;
}
#popup-drink .flex .col dl, #popup-food .flex .col dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.5625;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--cl402c24);
}
#popup-drink .flex .col dl dt, #popup-food .flex .col dl dt {
  text-align: left;
}
#popup-drink .flex .col dl dd, #popup-food .flex .col dl dd {
  text-align: right;
  min-width: 60px;
}
#popup-drink .flex .col dl.ps dd, #popup-food .flex .col dl.ps dd {
  min-width: 100px;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  #popup-drink, #popup-food {
    width: 1200px;
    max-width: calc(100% - 30px);
    margin: 0 auto;
    padding: 100px 0 100px;
  }
  #popup-drink .remodal-close, #popup-food .remodal-close {
    top: 95px;
    right: 92px;
  }
  #popup-drink .wrap, #popup-food .wrap {
    width: 1000px;
  }
  #popup-drink h2, #popup-food h2 {
    font-size: 40px;
  }
  #popup-drink .sub-txt, #popup-food .sub-txt {
    margin: 0 0 40px;
  }
  #popup-drink .remodal-close2, #popup-food .remodal-close2 {
    margin: 50px 0 0;
  }
  #popup-drink .flex, #popup-food .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #popup-drink .flex .col, #popup-food .flex .col {
    width: 467px;
  }
  #popup-drink .flex .col h4, #popup-food .flex .col h4 {
    font-size: 25px;
    margin-bottom: 12px;
  }
  #popup-drink .flex .col h4 ~ h4, #popup-food .flex .col h4 ~ h4 {
    margin-top: 50px;
  }
  #popup-drink .flex .col h5, #popup-food .flex .col h5 {
    font-size: 20px;
  }
  #popup-drink .flex .col h5 ~ h5, #popup-food .flex .col h5 ~ h5 {
    margin-top: 30px;
  }
  #popup-drink .flex .col dl, #popup-food .flex .col dl {
    padding: 12px 0;
  }
  #popup-drink .flex .col dl.ps dd, #popup-food .flex .col dl.ps dd {
    min-width: 120px;
  }
}

#sec8 {
  margin: 15vw 0 0;
  padding: 0 0 60vw;
  position: relative;
}
#sec8 .deco {
  position: absolute;
  width: 22vw;
  top: -9vw;
  right: calc(50% + 32vw);
}
#sec8 .group-title {
  margin: 0 var(--wrapPadding) 5vw 14vw;
  position: relative;
  z-index: 2;
}
#sec8 .group-title h2 {
  font-size: 15vw;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
#sec8 .group-title h3 {
  font-size: 6vw;
  line-height: 1.5;
  margin: 1vw 0 0;
  letter-spacing: 0.25em;
}
#sec8 .group-title h3 span {
  letter-spacing: 0.25em;
  color: var(--claa2323);
  font-size: 7vw;
}
@media screen and (max-width: 767px) {
  #sec8 .img {
    margin: 0 0 0 6.7vw;
  }
}
#sec8 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6vw 0;
  margin: 8vw var(--wrapPadding) 0;
}
#sec8 .flex .txt {
  letter-spacing: 0.2em;
}
#sec8 .flex .group-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 3vw;
}
#sec8 .flex .group-img .img3 {
  margin: 8vw 0 0;
}
#sec8 .btn-link {
  margin: 8vw 8.4vw 0;
}
@media screen and (min-width: 768px) {
  #sec8 {
    margin: 111px 0 0;
    padding: 0 0 389px;
  }
  #sec8 .deco {
    width: 175px;
    top: -28px;
    right: calc(50% + 420px);
  }
  #sec8 .group-title {
    width: 864px;
    margin: 0 auto;
    padding: 80px 0 0;
  }
  #sec8 .group-title h2 {
    font-size: 100px;
  }
  #sec8 .group-title h3 {
    font-size: 31px;
    margin: 5px 0 0 3px;
  }
  #sec8 .group-title h3 span {
    font-size: 40px;
  }
  #sec8 .img {
    position: absolute;
    top: 0;
    right: 0;
    left: calc(50% + 124px);
    height: 454px;
  }
  #sec8 .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 44px 0;
    margin: 67px auto 0;
    max-width: calc(100% - 60px);
    width: 1110px;
  }
  #sec8 .flex .txt {
    text-align: center;
  }
  #sec8 .flex .group-img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0 21px;
  }
  #sec8 .flex .group-img .img3 {
    margin: 144px 0 0;
  }
  #sec8 .btn-link {
    margin: 50px auto 0;
    width: 322px;
  }
}




#sec5_m {
  padding-bottom: 10vw;
}

@media screen and (min-width: 768px) {
  #sec5_m {
    padding-bottom: 30px;
  }
}

#sec5_m .set1 {
  /* background: var(--cl402c24); */
  color: #000000;
  text-align: center;
  padding: 15vw 0 20vw;
}

#sec5_m .set1 h2 {
  font-size: 15vw;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

#sec5_m .set1 h3 {
  font-size: 6vw;
  letter-spacing: 0.25em;
  line-height: 1.5;
  margin: 4vw 0 8vw;
}

#sec5_m .set1 .txt {
  letter-spacing: 0.2em;
}

@media screen and (min-width: 768px) {
  #sec5_m .set1 {
    padding: 114px 0 121px;
  }

  #sec5_m .set1 h2 {
    font-size: 100px;
  }

  #sec5_m .set1 h3 {
    font-size: 38px;
    margin: 21px 0 53px;
  }
}

#sec5_m .set2 dl {
  border-bottom: 1px solid var(--cl402c24);
  padding: 0 0 3vw;
  line-height: 1.5;
}

#sec5_m .set2 dl dt {
  font-size: 6vw;
  letter-spacing: 0.2em;
}

#sec5_m .set2 dl dd {
  margin: 3vw 0 0;
  font-size: 5vw;
  letter-spacing: 0.15em;
}

#sec5_m .set2 dl dd small {
  font-size: 4.8vw;
}

#sec5_m .set2 .group {
  position: relative;
  padding: 0 0 10vw;
}

@media screen and (max-width: 767px) {
  #sec5_m .set2 .group {
    margin-top: -10vw;
  }

  #sec5_m .set2 .group dl {
    margin-top: 4vw;
  }
}

@media screen and (max-width: 767px) {
  #sec5_m .set2 .group2 dl {
    margin-top: 5vw;
  }
}

@media screen and (min-width: 768px) {
  #sec5_m .set2 .wrap {
    width: 1086px;
  }

  #sec5_m .set2 dl {
    padding: 0 0 16px;
  }

  #sec5_m .set2 dl dt {
    font-size: 36px;
  }

  #sec5_m .set2 dl dd {
    margin: 16px 0 0;
    font-size: 26px;
  }

  #sec5_m .set2 dl dd small {
    font-size: 23px;
  }

  #sec5_m .set2 .group {
    padding: 64px 93px 78px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1150px) {
  #sec5_m .set2 .group {
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media screen and (min-width: 768px) {
  #sec5_m .set2 .group .img {
    position: absolute;
    width: 691px;
    top: -90px;
    right: 0;
  }

  #sec5_m .set2 .group dl {
    width: 500px;
  }

  #sec5_m .set2 .group2 {
    max-width: 1036px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  #sec5_m .set2 .group2 .img {
    width: 516px;
    height: 329px;
    max-width: calc(100% - 520px);
  }

  #sec5_m .set2 .group2 dl {
    padding-left: 85px;
    margin-top: 123px;
    padding-bottom: 19px;
  }

  #sec5_m .set2 .group2 dl dt {
    margin-right: -30px;
  }
}