@media only screen and (min-width: 768px) {
  body {
    background: url("../img/menu/bg.jpg"); } }
header .wrap {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2; }
header .scrolldown {
  bottom: 10vw; }
#kv.sp {
  position: relative;
  z-index: 0; }
header .sns {
  z-index: 10; }
@media only screen and (min-width: 768px) {
  header {
    height: 1093px; }
    header:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 1681px;
      background: url("../img/menu/kv.jpg") no-repeat top center;
      z-index: 0; }
    header .wrap {
      left: calc(50% - 500px); }
    header .scrolldown {
      bottom: 67px; } }

#sec1 {
  padding-bottom: 15vw; }
  #sec1 .sec1-label {
    width: 45%; }
  #sec1 .ttl {
    letter-spacing: 0.05em;
    text-align: center;
    position: relative;
    z-index: 1; }
    #sec1 .ttl span.fnt-notosan {
      font-size: 133%; }
  #sec1 .sec1-img {
    margin: -17vw -8% -13vw; }
  #sec1 .sec1-txt {
    position: relative;
    z-index: 1; }
  @media only screen and (min-width: 768px) {
    #sec1 {
      padding-bottom: 0; }
      #sec1 .sec1-label {
        width: 402px;
        position: absolute;
        top: -99px;
        left: 58px; }
      #sec1 .wrap {
        padding-bottom: 132px; }
      #sec1 .ttl {
        letter-spacing: 0.2em;
        line-height: 70px;
        margin-top: -13px; }
        #sec1 .ttl span.fnt-notosan {
          font-size: 60px; }
      #sec1 .sec1-img {
        margin: 0;
        position: absolute;
        top: -25px;
        right: -37px; }
      #sec1 .sec1-txt {
        margin: 81px 0 0 26px;
        width: 580px; } }
  @media only screen and (min-width: 768px) and (max-width: 1100px) {
    #sec1 .sec1-txt {
      margin-left: 50px; } }

#menu {
  padding: 0 6%; }
  #menu .menu-info {
    padding: 0 6%; }
  @media only screen and (min-width: 768px) {
    #menu {
      padding: 0; }
      #menu .menu-info {
        padding: 0; } }

#menu-inner {
  background: #f7f7f7;
  color: #000;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  position: relative;
  padding-top: 14vw;
  padding-bottom: 10vw; }
  #menu-inner:before, #menu-inner:after {
    content: "";
    position: absolute;
    width: 1px;
    height: 9vw;
    top: 0;
    left: 50%; }
  #menu-inner:before {
    background: #f7f7f7;
    transform: translateY(-100%); }
  #menu-inner:after {
    background: #000; }
  #menu-inner h2 {
    margin: 0 auto;
    width: 72%; }
  @media only screen and (min-width: 768px) {
    #menu-inner {
      padding-top: 68px;
      padding-bottom: 72px; }
      #menu-inner:before, #menu-inner:after {
        height: 50px; }
      #menu-inner h2 {
        width: 541px; } }

#sec2 {
  margin-bottom: 10vw; }
  #sec2 .sec2-label {
    width: 50%; }
  @media only screen and (min-width: 768px) {
    #sec2 {
      position: relative;
      z-index: 1;
      margin-bottom: 0; }
      #sec2 .sec2-img {
        width: 50%; }
      #sec2 .menu-info {
        width: 50%;
        margin-top: 97px;
        box-sizing: border-box;
        padding-left: 10px; }
      #sec2 .sec2-label {
        width: 242px;
        position: relative;
        left: -43px;
        margin-bottom: 10px; }
      #sec2 .price {
        margin-bottom: 20px; } }
  @media only screen and (min-width: 768px) and (max-width: 1100px) {
    #sec2 .menu-info {
      margin-top: 35px; } }

#sec3 {
  margin-bottom: 10vw; }
  #sec3 .menu-ttl {
    margin-top: -6vw;
    position: relative;
    z-index: 1; }
  @media only screen and (min-width: 768px) {
    #sec3 {
      position: relative;
      padding: 71px 0 65px;
      margin-bottom: 0; }
      #sec3:before {
        content: url("../img/menu/sec3_arrow.png");
        position: absolute;
        width: 12px;
        height: 35px;
        bottom: 0;
        left: calc(50% + 342px);
        z-index: 2; }
      #sec3 .sec3-img {
        position: absolute;
        top: -63px;
        right: 0; }
      #sec3 .menu-ttl {
        margin-top: 0; }
      #sec3 .menu-info {
        margin-left: 203px;
        position: relative;
        z-index: 1; }
      #sec3 .price {
        margin-bottom: 23px; } }
  @media only screen and (min-width: 768px) and (max-width: 1270px) {
    #sec3 .menu-info {
      margin-left: 70px; }
    #sec3 .sec3-img {
      width: 665px;
      top: -35px;
      right: -40px; } }

#sec4 {
  margin-bottom: 5vw; }
  #sec4 .slick-dots {
    position: absolute;
    left: 0;
    width: 100%;
    top: 63vw; }
  #sec4 .menu-info {
    margin-top: 5vw; }
  @media only screen and (min-width: 768px) {
    #sec4 {
      width: 100%;
      margin-bottom: 0;
      position: relative; }
      #sec4:before {
        content: "";
        position: absolute;
        width: 12px;
        height: calc(100% - 25px);
        top: 0;
        left: calc(50% + 342px);
        z-index: 2;
        background: url("../img/menu/sec4_arrow.png") repeat-y top center; }
      #sec4:after {
        content: "";
        position: absolute;
        width: 21px;
        height: 13px;
        bottom: 26px;
        left: calc(50% + 337px);
        z-index: 2;
        background: url("../img/menu/sec5_arrow.png") no-repeat top center; }
      #sec4 .slick-dots {
        top: 338px;
        max-width: 1113px; }
      #sec4 .sec4-item {
        justify-content: flex-start; }
      #sec4 .menu-info {
        margin: 59px 0 0 -38px;
        width: 360px; }
      #sec4 .price {
        margin: 0 0 14px 5px; }
      #sec4 .sec4-txt {
        margin-left: 5px; } }
  @media only screen and (min-width: 768px) and (max-width: 1270px) {
    #sec4:before {
      height: calc(100% + 20px); }
    #sec4:after {
      bottom: -22px; }
    #sec4 .menu-info {
      margin-left: -20px; }
    #sec4 .sec4-img {
      width: 500px; }
    #sec4 .slick-dots {
      max-width: 855px;
      top: 304px; } }

#sec5 {
  margin: 0 4% 10vw;
  box-sizing: border-box;
  padding: 5vw 5% 7vw;
  border: 1px solid #000;
  border-radius: 10px; }
  #sec5 dt {
    font-weight: 700;
    font-size: 5vw;
    line-height: 1.9;
    margin: 5vw 0 3vw; }
  @media only screen and (min-width: 768px) {
    #sec5 {
      margin: -73px auto 80px;
      padding: 40px 54px 40px 59px;
      border-radius: 20px;
      width: 750px;
      align-items: center; }
      #sec5 .sec5-img {
        order: 2;
        width: 301px; }
      #sec5 dl {
        width: 310px; }
      #sec5 dt {
        font-size: 26px;
        line-height: 50px;
        margin: 0 0 5px; } }
  @media only screen and (min-width: 768px) and (max-width: 1270px) {
    #sec5 {
      margin-top: -10px; } }

#sec6 .sec6-img {
  margin-left: 4%; }
#sec6 .menu-ttl {
  margin-bottom: 1vw; }
  #sec6 .menu-ttl i {
    width: 18vw;
    margin-bottom: 1vw; }
#sec6 .popup-btn {
  margin-top: 5vw; }
@media only screen and (min-width: 768px) {
  #sec6 .dis-flex-pc {
    justify-content: flex-end; }
  #sec6 .sec6-img {
    margin-left: 0;
    width: 581px;
    order: 2; }
  #sec6 .menu-info {
    width: 369px; }
  #sec6 .menu-ttl {
    margin-bottom: 11px;
    margin-top: -2px; }
    #sec6 .menu-ttl i {
      width: 127px;
      margin-bottom: 5px; }
  #sec6 .price {
    margin: 0 0 17px; }
  #sec6 .popup-btn {
    margin-top: 30px; } }
@media only screen and (min-width: 768px) and (max-width: 1100px) {
  #sec6 .menu-info {
    width: 330px; } }

#sec7 {
  position: relative;
  z-index: 0;
  padding: 11vw 0; }
  #sec7:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10px;
    right: 10px;
    height: 50%;
    background: url("../img/index/sec1_deco.png");
    z-index: -1; }
  #sec7 .wrap {
    margin: 0 auto;
    width: 96%; }
  #sec7 a {
    display: block;
    border: 1px solid #fff;
    overflow: hidden;
    position: relative; }
  #sec7 .sec7-img {
    margin: 0 -8% 0 -12%; }
  #sec7 dl {
    position: absolute;
    top: 6vw;
    right: 3vw; }
    #sec7 dl dt {
      font-weight: 700;
      font-size: 4.5vw;
      letter-spacing: 0.1em;
      line-height: 1;
      margin-bottom: 2.5vw; }
    #sec7 dl dd {
      /*font-size: 2vw;*/
      font-size: 2.8vw;
      /*line-height: 2.5;*/
      line-height: 1.8;
      letter-spacing: 0; }
  #sec7 i {
    width: 10vw;
    position: absolute;
    bottom: 2vw;
    right: 2vw; }
  @media only screen and (min-width: 768px) {
    #sec7 {
      padding: 92px 0 101px; }
      #sec7:after {
        left: 22px;
        right: 22px; }
      #sec7 .wrap {
        width: 960px; }
      #sec7 .sec7-img {
        margin: 0; }
      #sec7 dl {
        top: 70px;
        right: 0;
        width: 451px; }
        #sec7 dl dt {
          font-size: 40px;
          margin-bottom: 19px; }
        #sec7 dl dd {
          font-size: 16px;
          line-height: 40px; }
      #sec7 i {
        width: 95px;
        bottom: 15px;
        right: 14px; } }
  @media only screen and (min-width: 768px) and (max-width: 1100px) {
    #sec7 .wrap {
      width: 850px; }
    #sec7 dl {
      width: 420px; } }
