@media only screen and (min-width: 768px) {
  #key {
    background: url("../img/wine/kv_img.jpg") no-repeat center/cover; }
    #key img {
      opacity: 0; } }

#sec1 {
  padding: 13vw 4% 15vw; }
  #sec1 .sec1-deco {
    position: absolute;
    z-index: -1;
    top: -44vw;
    right: -32%;
    width: 70%; }
  #sec1 .sec1-txt {
    margin: 3vw 0 8vw; }
  #sec1 .sec1-img {
    margin: 0 -5%; }
    #sec1 .sec1-img p:nth-child(2) {
      margin-top: 5vw; }
  @media only screen and (min-width: 768px) {
    #sec1 {
      padding: 196px 0 114px; }
      #sec1 .sec1-deco {
        top: -141px;
        right: -410px;
        width: 457px; }
      #sec1 .sec1-info {
        justify-content: center; }
      #sec1 h2 {
        order: 2; }
      #sec1 .sec1-txt {
        margin: 3px 30px 0 0;
        height: 380px; }
      #sec1 .sec1-img {
        margin: 15px -160px 0; }
        #sec1 .sec1-img p:nth-child(2) {
          margin-top: 102px; } }

#sec2 {
  position: relative;
  z-index: 1;
  padding: 10vw 0;
  margin-bottom: 13vw; }
  #sec2:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/concept/sec2_bg.png"); }
  #sec2 .sec2-deco {
    position: absolute;
    z-index: -1;
    width: 70%;
    left: -30%;
    bottom: -20vw; }
  #sec2 .ttl-line {
    margin: 4vw 0 7vw; }
    #sec2 .ttl-line .ttl-en {
      background: none;
      text-transform: none; }
  #sec2 .sec2-img p:nth-child(2) {
    margin: -10vw 5% 0 auto;
    width: 50%; }
  @media only screen and (min-width: 768px) {
    #sec2 {
      padding: 100px 0 127px;
      margin-bottom: 100px; }
      #sec2 .sec2-deco {
        width: 582px;
        left: -502px;
        bottom: -170px; }
      #sec2 .sec2-info {
        width: 400px;
        margin: -408px 0 0 40px; }
      #sec2 .ttl-line {
        margin: 0 0 45px; }
        #sec2 .ttl-line p span {
          padding-right: 30px; }
        #sec2 .ttl-line p:nth-child(3) span {
          padding-right: 70px;
          padding-bottom: 5px; }
        #sec2 .ttl-line .ttl-en {
          right: 22px; }
      #sec2 .sec2-img p:nth-child(1) {
        margin: 0 -160px; }
      #sec2 .sec2-img p:nth-child(2) {
        margin: -145px -39px 0 auto;
        width: 510px; } }

#sec2-2 {
  display: block;
  background: url("../img/shared/bg4.jpg");
  padding: 5px;
  color: #fff;
  margin-bottom: 13vw;
  position: relative;
  z-index: 2; }
  #sec2-2 .zoom1 {
    padding-top: 120vw; }
  #sec2-2 .sec2-info2 {
    position: absolute;
    z-index: 1;
    bottom: 2vw;
    right: 5%;
    left: 5%; }
  #sec2-2 dt {
    font-size: 4.5vw;
    line-height: 1.7;
    margin-bottom: 3vw;
    letter-spacing: 0.2em; }
  #sec2-2 .btn-link2 {
    justify-content: flex-start;
    text-transform: uppercase;
    margin-top: 2vw; }
    #sec2-2 .btn-link2 em {
      letter-spacing: 0.32em;
      transition: .5s ease !important; }
      #sec2-2 .btn-link2 em:first-letter {
        color: #59871a; }
    #sec2-2 .btn-link2 span {
      width: 23vw; }
  @media only screen and (min-width: 768px) {
    #sec2-2 {
      margin: 100px auto 130px;
      max-width: 1220px;
      padding: 10px; }
      #sec2-2 .zoom1 {
        padding-top: 537px; }
      #sec2-2 .sec2-info2 {
        bottom: 60px;
        width: 405px;
        right: 96px;
        left: auto; }
      #sec2-2 dt {
        font-size: 25px;
        line-height: 2;
        margin-bottom: 26px;
        letter-spacing: 0.2em; }
      #sec2-2 .btn-link2 {
        margin-top: 35px; }
        #sec2-2 .btn-link2 span {
          width: 210px; } }
  @media only screen and (min-width: 768px) and (max-width: 1200px) {
    #sec2-2 .sec2-info2 {
      right: 50px; } }

#sec3 {
  background: url("../img/concept/sec2_bg2.png");
  padding: 10vw 0 13vw;
  margin-bottom: 15vw; }
  #sec3 .ttl-line {
    margin-bottom: 5vw; }
    #sec3 .ttl-line p span {
      min-width: inherit; }
    #sec3 .ttl-line .ttl-en {
      right: 8vw;
      background: none; }
  #sec3 .sec3-rss {
    background: url("../img/shared/bg2.jpg");
    box-sizing: border-box;
    padding: 7vw 5%;
    margin-top: 10vw;
    color: #000; }
  #sec3 .rss_img {
    width: 100%; }
    #sec3 .rss_img a {
      width: 100%;
      height: 0;
      padding-top: 68%;
      position: relative;
      display: block; }
      #sec3 .rss_img a span {
        transition: ease 0.3s;
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        background: url("../img/shared/no-img.jpg") no-repeat center/100% 100%; }
      #sec3 .rss_img a:hover span {
        opacity: 0.8; }
  #sec3 .row-ttl {
    margin: 5vw 0;
    line-height: 1.5; }
    #sec3 .row-ttl .row-date {
      display: block; }
  #sec3 .btn-link2 {
    justify-content: flex-end;
    font-weight: 400;
    font-family: 'Noto Serif JP'; }
    #sec3 .btn-link2 span {
      width: 23vw; }
  @media only screen and (min-width: 768px) {
    #sec3 {
      padding: 92px 0;
      margin-bottom: 172px; }
      #sec3 .sec3-info {
        order: 2;
        width: 435px;
        margin-right: -16px;
        margin-top: 20px; }
      #sec3 .ttl-line {
        margin-bottom: 45px; }
        #sec3 .ttl-line p:nth-child(1) span {
          width: 263px; }
        #sec3 .ttl-line p:nth-child(2) span {
          width: 315px; }
        #sec3 .ttl-line p:nth-child(3) span {
          width: 330px; }
        #sec3 .ttl-line .ttl-en {
          right: 34px; }
      #sec3 .sec3-rss {
        padding: 57px 50px 36px;
        width: 563px;
        margin: 0 0 0 -63px; }
      #sec3 .rss_img a {
        padding-top: 68%; }
      #sec3 .row-ttl {
        margin: 33px 0 33px 28px;
        line-height: 1.5; }
        #sec3 .row-ttl .row-date {
          margin-bottom: 13px; }
      #sec3 .btn-link2 {
        font-size: 16px; }
        #sec3 .btn-link2 span {
          width: 118px; } }
  @media only screen and (min-width: 768px) and (max-width: 1200px) {
    #sec3 .sec3-rss {
      margin-left: 0;
      padding: 57px 30px 36px;
      width: 500px; }
    #sec3 .sec3-info {
      margin-right: 20px; } }

#sec4 {
  padding-bottom: 10vw; }
  #sec4 h2 {
    text-align: center;
    margin-bottom: 5vw; }
  #sec4 h4 {
    text-align: center;
    margin: 7vw 0 5vw; }
  #sec4 .menu-txt {
    letter-spacing: 0;
    text-align: center; }
  #sec4 .menu-ttl {
    margin-bottom: 5vw;
    letter-spacing: 0.2em;
    padding: 2vw 0; }
    #sec4 .menu-ttl span {
      font-size: 73%; }
  #sec4 .sec4-deco1, #sec4 .sec4-deco2 {
    position: absolute;
    z-index: -1;
    width: 50%; }
  #sec4 .sec4-deco2 {
    left: -3%;
    bottom: -10vw; }
  #sec4 .sec4-deco1 {
    right: -21%;
    top: 176vw; }
  @media only screen and (min-width: 768px) {
    #sec4 {
      padding-bottom: 194px; }
      #sec4 h2 {
        margin-bottom: 65px; }
      #sec4 h4 {
        margin: 35px 0 30px; }
      #sec4 .menu-txt {
        margin-top: 32px; }
      #sec4 .sec-txt {
        margin: 19px 0 0; }
      #sec4 .menu-ttl {
        margin-bottom: 44px;
        padding: 14px 0;
        font-size: 22px; }
      #sec4 .sec4-deco2 {
        left: -449px;
        bottom: 0;
        width: 702px; }
      #sec4 .sec4-deco1 {
        right: -497px;
        top: 2071px; } }
  @media only screen and (min-width: 768px) and (max-width: 1100px) {
    #sec4 {
      padding: 0 30px 194px; } }
