/* == == */
@media only screen and (max-width: 767px) {
   .txt {
      text-align: justify;
   }

   .txt br {
      display: none;
   }

   .h-36 {
      font-weight: 400;
      font-size: 6.4vw;
      line-height: 1.5;
      letter-spacing: 0.1em;
   }

   .h-46 {
      font-weight: 400;
      font-size: 7vw;
      line-height: 1.5;
      letter-spacing: 0.1em;
   }

   .h-46 small {
      font-size: 6.4vw;
      letter-spacing: 0.1em;
   }

   .h-50,
   .h-56 {
      font-weight: 400;
      font-size: 8vw;
      line-height: 1.5;
      letter-spacing: 0.1em;
   }

   .h-50 small,
   .h-56 small {
      font-size: 6.4vw;
      letter-spacing: 0.1em;
   }
}

@media only screen and (min-width: 768px) {
   .txt {
      text-align: justify;
   }

   .h-36 {
      font-weight: 400;
      font-size: 36px;
      line-height: 76px;
      letter-spacing: 0;
   }

   .h-46 {
      font-weight: 400;
      font-size: 46px;
      line-height: 76px;
      letter-spacing: 0;
   }

   .h-46 small {
      font-size: 40px;
      letter-spacing: 0;
   }

   .h-50 {
      font-weight: 400;
      font-size: 50px;
      line-height: 84px;
      letter-spacing: 0;
   }

   .h-50 small {
      font-size: 36px;
      letter-spacing: 0;
   }

   .h-56 {
      font-weight: 400;
      font-size: 56px;
      line-height: 84px;
      letter-spacing: 0;
   }

   .h-56 small {
      font-size: 36px;
      letter-spacing: 0;
   }
}

/* == == */
#key {
   background: url("../img/wine/kv.jpg") no-repeat -160px center/cover;
}

/* --- --- */
#sec1 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec1 {
      background: url("../img/wine/sec1-bg-img.jpg") no-repeat right top/280% auto;
      padding: 12vw 0;
   }

   #sec1 h2 {
      margin: 0 auto;
   }

   #sec1 .txt {
      padding-top: 4vw;
   }

   #sec1 .photo {
      background: url("../img/wine/sec1-bg-img.jpg") no-repeat top -12vw left/200% auto;
      width: 100%;
      height: 60vw;
      margin-top: 6vw;
   }
}

@media only screen and (min-width: 768px) {
   #sec1 {
      padding: 170px 0 89px;
   }

   #sec1:before {
      content: '';
      width: 100%;
      height: 959px;
      background: url("../img/wine/sec1-bg-img.jpg") no-repeat center bottom/cover;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec1 h2 {
      width: 168px;
      height: 540px;
      letter-spacing: 0.05em;
      line-height: 88px;
      margin-left: auto;
      padding-right: 76px;
   }

   #sec1 h2 span {
      font-size: 44px;
   }

   #sec1 .txt {
      margin-top: -50px;
      padding-left: 110px;
   }
}

/* --- --- */
#sec2 {
   background: url("../img/shared/bg01.jpg") repeat center top;
   color: #fff;
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec2 {
      padding: 0 0 15vw;
   }

   #sec2 .photo {
      background: url("../img/wine/sec2-photo1.jpg") no-repeat center top/cover;
      width: 100%;
      height: 65vw;
   }

   #sec2 .h-group {
      padding-top: 8vw;
      padding-bottom: 8vw;
   }

   #sec2 .h-group h3 {
      display: inline-block;
      color: #e8d4af;
      font-weight: 400;
      font-size: 5vw;
      line-height: 0.85;
      letter-spacing: 0.1em;
      border-bottom: 1px solid rgba(255, 255, 255, 0.8);
      padding: 16vw 18vw 0vw 39vw;
      position: relative;
   }

   #sec2 .h-group h3:before {
      content: '';
      border-bottom: 1px solid rgba(255, 255, 255, 0.8);
      position: absolute;
      right: 0;
      bottom: -1px;
      left: -3.3vw;
   }

   #sec2 .h-group h3 img {
      width: 20vw;
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec2 h2 span {
      font-size: 7vw;
   }

   #sec2 .box {
      background-color: rgba(255, 255, 255, 0.1);
      padding: 10vw 3.3vw;
   }

   #sec2 .box h3 {
      letter-spacing: 0.1em;
   }

   #sec2 .box .menu-list {
      display: block;
      padding-top: 8vw;
   }

   #sec2 .box .menu-list dl {
      display: block;
   }

   #sec2 .box .menu-list dl>* {
      display: block;
   }



   #sec2 .box .menu-list dl dd {
      width: auto;
      letter-spacing: 0;
   }
}

@media only screen and (min-width: 768px) {
   #sec2 {
      padding: 158px 0 140px;
   }

   #sec2 .wrap {
      width: 96%;
      max-width: 1140px;
   }

   #sec2 .photo {
      background: url("../img/wine/sec2-photo1.jpg") no-repeat center top/cover;
      width: calc(50% + 50px);
      height: 540px;
      position: absolute;
      top: 0;
      right: 0;
   }

   #sec2 .h-group {
      padding-bottom: 200px;
   }

   #sec2 .h-group h3 {
      display: inline-block;
      color: #e8d4af;
      font-weight: 400;
      font-size: 34px;
      line-height: 0.85;
      letter-spacing: 0.1em;
      border-bottom: 1px solid rgba(255, 255, 255, 0.8);
      padding: 143px 150px 0 139px;
      position: relative;
   }

   #sec2 .h-group h3:before {
      content: '';
      width: 100000px;
      height: 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.8);
      position: absolute;
      bottom: -1px;
      right: 100%;
   }

   #sec2 .h-group h3 img {
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec2 h2 span {
      font-size: 44px;
   }

   #sec2 .box {
      background-color: rgba(255, 255, 255, 0.1);
      width: 100%;
      max-width: 1000px;
      box-sizing: border-box;
      margin: 0 auto;
      padding: 50px 140px 130px;
   }

   #sec2 .box h3 {
      letter-spacing: 0.1em;
   }

   #sec2 .box .menu-list {
      display: block;
      padding-top: 47px;
   }

   #sec2 .box .menu-list dl dd {
      letter-spacing: 0;
   }
}

/* --- --- */
#sec3 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec3 {
      padding: 0 0 15vw;
   }

   #sec3:before {
      content: '';
      width: 30vw;
      height: 45vw;
      background: url("../img/wine/sec3-bg-img.jpg") no-repeat center/cover;
      position: absolute;
      top: 65vw;
      left: 0;
   }

   #sec3 .photo {
      background: url("../img/wine/sec3-photo.jpg") no-repeat center top/cover;
      width: 100%;
      height: 65vw;
   }

   #sec3 .h-group {
      padding: 8vw 0 0 35vw;
   }

   #sec3 .h-group h3 {
      color: #e8d4af;
      font-weight: 400;
      font-size: 5vw;
      line-height: 0.85;
      letter-spacing: 0.1em;
      border-bottom: 1px solid #595044;
      padding: 8vw 0 0;
      position: relative;
   }

   #sec3 .h-group h3:before {
      content: '';
      border-bottom: 1px solid #595044;
      position: absolute;
      right: -3.3vw;
      bottom: -1px;
      left: -4vw;
   }

   #sec3 .h-group h3 img {
      width: 20vw;
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec3 h2 span {
      font-size: 7vw;
   }

   #sec3 .txt {
      padding-top: 8vw;
   }

   #sec3 .box {
      background-color: rgba(255, 255, 255, 0.1);
      padding: 10vw 3.3vw 0;
   }

   #sec3 .box h3 {
      letter-spacing: 0.1em;
   }

   #sec3 .box .menu-list {
      display: block;
      padding-top: 8vw;
   }

   #sec3 .box .menu-list dl {
      display: block;
   }

   #sec3 .box .menu-list dl>* {
      display: block;
   }



   #sec3 .box .menu-list dl dd {
      width: auto;
      letter-spacing: 0;
   }
}

@media only screen and (min-width: 768px) {
   #sec3 {
      padding: 125px 0 127px;
   }

   #sec3:before {
      content: '';
      width: calc(50% - 480px);
      background: url("../img/wine/sec3-bg-img.jpg") no-repeat center top/cover;
      position: absolute;
      top: 540px;
      bottom: 0;
      left: 0;
   }

   #sec3 .wrap {
      width: 86%;
      max-width: 1140px;
   }

   #sec3 .photo {
      background: url("../img/wine/sec3-photo.jpg") no-repeat center top/cover;
      width: calc(50% + 0px);
      height: 540px;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec3 .h-group {
      width: 420px;
      margin-left: auto;
   }

   #sec3 .h-group h3 {
      display: inline-block;
      color: #e8d4af;
      font-weight: 400;
      font-size: 34px;
      line-height: 0.85;
      letter-spacing: 0.1em;
      border-bottom: 1px solid #595044;
      padding: 36px 120px 0 72px;
      position: relative;
   }

   #sec3 .h-group h3:before {
      content: '';
      width: 100000px;
      height: 0;
      border-bottom: 1px solid #595044;
      position: absolute;
      bottom: -1px;
      left: 100%;
   }

   #sec3 .h-group h3 img {
      position: absolute;
      bottom: 0;
      right: -26px;
   }

   #sec3 h2 {
      line-height: 80px;
      padding-left: 71px;
   }

   #sec3 h2 span {
      font-size: 44px;
   }

   #sec3 .txt {
      width: 420px;
      margin-left: auto;
      padding-top: 63px;
   }

   #sec3 .box {
      width: 100%;
      max-width: 1000px;
      box-sizing: border-box;
      margin: 0 auto;
      padding: 50px 140px 0;
   }

   #sec3 .box h3 {
      letter-spacing: 0.1em;
   }

   #sec3 .box .menu-list {
      display: block;
      padding-top: 47px;
   }

   #sec3 .box .menu-list dl dd {
      letter-spacing: 0;
   }
}
@media only screen and (min-width: 1280px) {
   #sec3 .wrap {
      width: 100%;
   }
   #sec3 .photo {
      width: calc(50% + 50px);;
   }
}
/* --- --- */
#sec4 {
   background: url("../img/shared/bg01.jpg") repeat center top;
   color: #fff;
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec4 {
      padding: 0 0 15vw;
   }

   #sec4 .photo {
      background: url("../img/wine/sec4-photo.jpg") no-repeat center top/cover;
      width: 100%;
      height: 65vw;
   }

   #sec4 .h-group {
      padding-top: 8vw;
      padding-bottom: 8vw;
   }

   #sec4 .h-group h3 {
      display: inline-block;
      color: #e8d4af;
      font-weight: 400;
      font-size: 5vw;
      line-height: 1.3;
      letter-spacing: 0.1em;
      border-bottom: 1px solid rgba(255, 255, 255, 0.8);
      padding: 5vw 18vw 0vw 0vw;
      position: relative;
   }

   #sec4 .h-group h3:before {
      content: '';
      border-bottom: 1px solid rgba(255, 255, 255, 0.8);
      position: absolute;
      right: 0;
      bottom: -1px;
      left: -3.3vw;
   }

   #sec4 .h-group h3 img {
      width: 20vw;
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec4 h2 span {
      font-size: 7vw;
   }

   #sec4 .box {
      background-color: rgba(255, 255, 255, 0.1);
      padding: 10vw 3.3vw;
   }

   #sec4 .box h3 {
      letter-spacing: 0.1em;
   }

   #sec4 .box .menu-list {
      display: block;
      padding-top: 8vw;
   }

   #sec4 .box .menu-list dl {
      display: block;
   }

   #sec4 .box .menu-list dl>* {
      display: block;
   }



   #sec4 .box .menu-list dl dt p+p {
      opacity: 0.8;
      padding-top: 2vw;
   }

   #sec4 .box .menu-list dl dd {
      width: auto;
      letter-spacing: 0;
      padding-top: 2vw;
   }
}

@media only screen and (min-width: 768px) {
   #sec4 {
      padding: 137px 0 148px;
   }

   #sec4 .wrap {
      width: 96%;
      max-width: 1130px;
   }

   #sec4 .photo {
      background: url("../img/wine/sec4-photo.jpg") no-repeat center top/cover;
      width: calc(50% + 50px);
      height: 540px;
      position: absolute;
      top: 0;
      right: 0;
   }

   #sec4 .h-group {
      padding-bottom: 268px;
   }

   #sec4 .h-group h3 {
      display: inline-block;
      color: #e8d4af;
      font-weight: 400;
      font-size: 34px;
      line-height: 1.3;
      letter-spacing: 0.1em;
      border-bottom: 1px solid rgba(255, 255, 255, 0.8);
      padding: 24px 158px 0 0;
      position: relative;
   }

   #sec4 .h-group h3:before {
      content: '';
      width: 100000px;
      height: 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.8);
      position: absolute;
      bottom: -1px;
      right: 100%;
   }

   #sec4 .h-group h3 img {
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec4 h2 {
      line-height: 80px;
   }

   #sec4 h2 small {
      font-size: 46px;
   }

   #sec4 h2 span {
      font-size: 53px;
   }

   #sec4 .box {
      background-color: rgba(255, 255, 255, 0.1);
      width: 100%;
      max-width: 1000px;
      box-sizing: border-box;
      margin: 0 auto;
      padding: 50px 85px 100px;
   }

   #sec4 .box h3 {
      letter-spacing: 0.1em;
   }

   #sec4 .box .menu-list {
      display: block;
      padding-top: 47px;
   }

   #sec4 .box .menu-list dl dt p+p {
      opacity: 0.8;
      padding-top: 10px;
   }

   #sec4 .box .menu-list dl dd {
      letter-spacing: 0;
   }
}

/* --- --- */
#sec5 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec5 {
      padding: 15vw 0;
   }

   #sec5 h2 {
      letter-spacing: 0.1em;
   }

   #sec5 .menu-list h3 {
      background: url("../img/shared/bg02.jpg") repeat center top;
      color: #fff;
      font-size: 4vw;
      line-height: 2;
      text-align: center;
      padding: 2vw 0;
      margin-bottom: 4vw;
   }

   #sec5 .menu-list dl {
      padding-bottom: 10px;
   }

   #sec5 .menu-list dl dt small {
      font-size: 12px;
      letter-spacing: 0.05em;
   }
}

@media only screen and (min-width: 768px) {
   #sec5 {
      padding: 98px 0 116px;
   }

   #sec5 h2 {
      letter-spacing: 0.1em;
   }

   #sec5 .menu-list {
      gap: 0 80px;
      padding-top: 66px;
   }

   #sec5 .menu-list .col {
      width: 460px;
   }

   #sec5 .menu-list .item+.item {
      padding-top: 70px;
   }

   #sec5 .menu-list h3 {
      background: url("../img/shared/bg02.jpg") repeat center top;
      color: #fff;
      font-size: 22px;
      text-align: center;
      padding: 5px 0;
      margin-bottom: 28px;
   }

   #sec5 .menu-list dl {
      padding-bottom: 10px;
   }

   #sec5 .menu-list dl dt small {
      font-size: 13px;
      letter-spacing: 0.05em;
   }
}
.pt50{
	padding-top: 50px;
}
