@media screen and (min-width: 768px) {
   header .box {
      padding: 31px 0 0 5px;
   }

   header h1 {
      padding-top: 22px;
   }

   #key .photoL {
      height: 558px;
   }

   #key .photoL .slick-slide {
      height: 549px;
   }

   #key .photoR {
      height: 410px;
      position: absolute;
      bottom: -20px;
   }
}

.fnt-notoserif {
   font-family: 'Noto Serif JP', serif;
}

.fnt-meddo {
   font-family: 'Meddon', cursive;
}

.bg__parallax {
   position: relative;
}

.img__parallax {
   clip: rect(0, auto, auto, 0);
   margin-bottom: 0;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
}

.img__parallax img {
   width: 100%;
   height: 100vh;
   position: fixed;
   top: 0;
   left: 0;
   padding: 0;
   margin: 0;
   object-fit: cover;
   z-index: 0;
   transform: translateZ(0);
}

.btn_cus a:first-child {
   text-align: center;
   width: 495px;
   height: 60px;
   line-height: 1.5;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 20px;
   letter-spacing: 0.15em;
   position: relative;
   margin: auto;
   background: url(../img/drink/bg_red.jpg);
   color: #fff;
   box-sizing: border-box;
   text-decoration: none;
   font-family: 'Noto Serif JP', serif;
}

.btn_cus a:first-child:before {
   content: "";
   background: url("../img/drink/icon_btn.png") no-repeat;
   width: 127px;
   height: 6px;
   position: absolute;
   top: 27px;
   left: -80px;
}

.btn_cus a:first-child:hover {
   opacity: .8;
}

@media screen and (max-width:767px) {
   .btn_cus a:first-child {
      width: 100%;
      height: auto;
      font-size: 4.5vw;
      letter-spacing: 0.15em;
      position: relative;
      padding: 3% 0;
      line-height: 2;
   }

   .btn_cus a:first-child:before {
      top: 48%;
   }
}

#key .photoL {
   position: relative;
}

#key .photoL .slider .slide1 {
   background: url("../img/index/key-photo1.jpg") no-repeat center/cover;
}

#key .photoL .slider .slide2 {
   background: url("../img/index/key-photo2.jpg") no-repeat center/cover;
}

#key .photoR .slide1 {
   background: url("../img/index/key-photo3.jpg") no-repeat center/cover;
}

#key .photoR .slide2 {
   background: url("../img/index/key-photo4.jpg") no-repeat center/cover;
}

@media only screen and (max-width: 999px) {
   #key .photoL h2 {
      font-size: 20px;
      line-height: 35px;
      letter-spacing: 0.15em;
      top: 25px;
      right: 4%;
   }
}

#sec1 {
   padding-bottom: 103px;
   margin-top: 92px;
}

#sec1 .wrap {
   padding-top: 72px;
}

#sec1 .photo {
   position: absolute;
   top: 0;
   left: 278px;
   width: 972px;
}

#sec1 .photo h2 {
   position: absolute;
   top: 113px;
   left: 294px;
   color: #fff;
   z-index: 1;
   font-size: 33px;
   letter-spacing: 0.15em;
   width: 40px;
   height: 550px;
   text-shadow: 0 5px 10px rgba(0, 0, 0, 0.7), 0 5px 10px rgba(0, 0, 0, 0.7), 0 5px 10px rgba(0, 0, 0, 0.7);
}

#sec1 .box {
   background: #fff;
   width: 575px;
   position: relative;
   padding: 54px 80px 70px 75px;
   margin-left: -76px;
   box-sizing: border-box;
   box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
}

#sec1 .box:before {
   content: '';
   position: absolute;
   top: 0;
   left: -64px;
   bottom: 0;
   right: 100%;
   background: url("../img/drink/bg_red.jpg");
}

#sec1 .box h3 {
   font-size: 30px;
   line-height: 65px;
   letter-spacing: 0.15em;
   padding-bottom: 25px;
}

#sec2 .bg__parallax {
   height: 565px;
}

#sec2 h2 {
   position: absolute;
   top: 164px;
   left: calc(50% - 500px);
   z-index: 5;
   font-size: 33px;
   line-height: 65px;
   letter-spacing: 0.15em;
   display: inline-block;
   padding: 35px 74px 37px 73px;
   margin-left: -76px;
}

#sec2 h2:before,
#sec2 h2:after {
   content: '';
   position: absolute;
   background: url("../img/drink/s2_h2_deco.png") no-repeat;
   background-size: cover;
   width: 70px;
   height: 70px;
}

#sec2 h2:before {
   top: 0;
   left: 0;
}

#sec2 h2:after {
   bottom: 0;
   right: 0;
   transform: rotate(180deg);
}

#sec2_2 {
   position: relative;
}

#sec2_2:before {
   content: '';
   background: url("../img/drink/s3_bg_1.png") center bottom no-repeat;
   background-size: cover;
   position: absolute;
   top: 0;
   left: 0;
   width: 750px;
   height: 372px;
}

#sec2_2:after {
   content: '';
   background: url("../img/drink/s3_bg_2.png") center bottom no-repeat;
   background-size: cover;
   position: absolute;
   top: 0;
   right: 0;
   width: 750px;
   height: 372px;
}

#sec2_2 .bg {
   position: relative;
   padding: 129px 0 137px;
}

#sec2_2 .bg:before {
   content: '';
   background: url("../img/drink/s3_bg_3.png") center bottom no-repeat;
   background-size: cover;
   position: absolute;
   bottom: 0;
   left: 0;
   width: 750px;
   height: 550px;
}

#sec2_2 .bg:after {
   content: '';
   background: url("../img/drink/s3_bg_4.png") center bottom no-repeat;
   background-size: cover;
   position: absolute;
   bottom: 0;
   right: 0;
   width: 750px;
   height: 550px;
}

#sec2_2 .click {
   position: absolute;
   top: 84px;
   left: 738px;
   background: url(../img/drink/s3_bg_cl.png) center top 7px no-repeat;
   width: 197px;
   height: 60px;
   background-size: cover;
   box-sizing: border-box;
   padding: 0 20px 20px 52px;
   font-size: 24px;
   letter-spacing: 0.15em;
}

#sec2_2 .slick-list {
   overflow: visible;
}

#sec2_2 .slick-dots {
   position: absolute;
   left: 50%;
   top: 120px;
   z-index: 2;
   transform: translateX(-50%);
}

#sec2_2 .slick-dots li {
   display: inline-block;
   font-size: 0;
   line-height: 0;
}

#sec2_2 .slick-dots li button {
   background: transparent;
   width: 103px;
   height: 245px;
   text-indent: -9999px;
   cursor: pointer;
   border: none;
   outline: none;
   transition: all .2s ease;
}

#sec2_2 .slick-dots li:nth-child(4) button {
   background: url("../img/drink/s3_button_1.png");
   background-size: cover;
}

#sec2_2 .slick-dots li:nth-child(3) button {
   background: url("../img/drink/s3_button_2.png");
   background-size: cover;
}

#sec2_2 .slick-dots li:nth-child(2) button {
   background: url("../img/drink/s3_button_3.png");
   background-size: cover;
}

#sec2_2 .slick-dots li:nth-child(1) button {
   background: url("../img/drink/s3_button_4.png");
   background-size: cover;
}

#sec2_2 .slick-dots li:hover:nth-child(4) button,
#sec2_2 .slick-dots li.slick-active:nth-child(4) button {
   background: url("../img/drink/s3_button_1_on.png");
   background-size: cover;
}

#sec2_2 .slick-dots li:hover:nth-child(3) button,
#sec2_2 .slick-dots li.slick-active:nth-child(3) button {
   background: url("../img/drink/s3_button_2_on.png");
   background-size: cover;
}

#sec2_2 .slick-dots li:hover:nth-child(2) button,
#sec2_2 .slick-dots li.slick-active:nth-child(2) button {
   background: url("../img/drink/s3_button_3_on.png");
   background-size: cover;
}

#sec2_2 .slick-dots li:hover:nth-child(1) button,
#sec2_2 .slick-dots li.slick-active:nth-child(1) button {
   background: url("../img/drink/s3_button_4_on.png");
   background-size: cover;
}

#sec2_2 .slick-dots li:hover button,
#sec2_2 .slick-dots li.slick-active button {
   border: none !important;
   outline: none !important;
   transition: none;
}

#sec2_2 .slick-arrow {
   width: 141px;
   line-height: 1;
   height: 35px;
   outline: 0 none;
   position: absolute;
   top: 65.9%;
   font-weight: 400;
   font-size: 0;
   border: none;
   z-index: 5;
   cursor: pointer;
}

#sec2_2 .slick-prev {
   left: -90px;
   background: url("../img/drink/preview.png") no-repeat;
   background-size: cover;
}

#sec2_2 .slick-next {
   right: -90px;
   background: url("../img/drink/next.png") no-repeat;
   background-size: cover;
}

#sec2_2 .item h3 {
   font-family: 'Meddon', cursive;
   text-align: center;
   font-size: 40px;
   letter-spacing: 0.02em;
   line-height: 50px;
   padding-bottom: 263px;
}

#sec2_2 .item h3 span {
   font-family: 'Noto Serif JP', serif;
   display: block;
   font-size: 22px;
   letter-spacing: 0.15em;
   line-height: 75px;
}

#sec2_2 .item .photo {
   position: relative;
   z-index: 1;
}

#sec2_2 .item .photo:before {
   content: '';
   position: absolute;
   top: -30px;
   left: -60px;
   bottom: 135px;
   width: 180px;
   z-index: -1;
   background: url("../img/drink/bg_red.jpg");
}

#sec2_2 .item .photo:after {
   content: '';
   position: absolute;
   bottom: -30px;
   right: -60px;
   top: 135px;
   width: 180px;
   z-index: -1;
   background: url("../img/drink/bg_red.jpg");
}

#sec2_2 .txt {
   text-align: center;
   padding: 69px 0 51px;
}

#sec3 {
   background: url("../img/drink/bg_brown.jpg");
}

#sec3 .bg__parallax {
   height: 600px;
   text-align: center;
}

#sec3 .bg__parallax h2 {
   font-size: 28px;
   letter-spacing: 0.15em;
   line-height: 2;
   width: 55px;
   height: 380px;
   margin: 0 auto;
   display: inline-block;
   padding: 88px 0;
   color: #fff;
   text-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
   position: relative;
   z-index: 2;
}

#sec3 .set1 .photo {
   width: 1076px;
   padding: 138px 0 52px;
}

#sec3 .set1 .photo .heading {
   font-size: 33px;
   line-height: 65px;
   letter-spacing: 0.15em;
   padding: 0 300px;
   text-align: center;
   margin-top: -115px;
   position: relative;
   z-index: 2;
   margin-right: 76px;
}

#sec3 .set1 .photo .heading .bd_wh {
   color: #FFF;
   border: 2px solid #FFF;
   border-bottom: none;
   padding-top: 47px;
}

#sec3 .set1 .photo .heading .bd_bl {
   border: 2px solid #000;
   border-top: 0;
   padding-bottom: 49px;
}

#sec3 .set2 {
   position: relative;
}

#sec3 .set2 .photo_1 {
   position: absolute;
   top: 0;
   left: -90px;
}

#sec3 .set2 .photo_1:before {
   content: '';
   position: absolute;
   top: 45px;
   left: -40px;
   bottom: -32px;
   width: 180px;
   background: url("../img/drink/bg_red.jpg");
}

#sec3 .set2 .text {
   margin-left: 593px;
   padding: 0 50px 187px 0;
}

#sec3 .set2 .text h3 {
   font-size: 33px;
   letter-spacing: 0.15em;
   padding: 52px 0 43px;
}

#sec3_2 {
   position: relative;
   padding-bottom: 166px;
}

#sec3_2:before {
   content: '';
   background: url("../img/drink/s3_deco_1.png") center bottom no-repeat;
   background-size: cover;
   position: absolute;
   top: 0;
   left: 0;
   width: 750px;
   height: 275px;
}

#sec3_2:after {
   content: '';
   background: url("../img/drink/s5_deco_2.png") center bottom no-repeat;
   background-size: cover;
   position: absolute;
   top: 0;
   right: 0;
   width: 750px;
   height: 275px;
}

#sec3_2 h2 {
   text-align: center;
   letter-spacing: 0.15em;
   font-size: 33px;
   line-height: 65px;
   position: relative;
   padding: 78px 0 116px;
}

#sec3_2 h2:before {
   content: '';
   position: absolute;
   border-left: 1px solid #000;
   top: -68px;
   height: 133px;
   left: 50%;
   width: 1px;
}

#sec3_2 .photo {
   position: absolute;
   top: 254px;
   left: 377px;
   width: 678px;
}

#sec3_2 .photo:before {
   content: '';
   position: absolute;
   top: 136px;
   right: -31px;
   bottom: -25px;
   width: 180px;
   background: url("../img/drink/bg_red.jpg");
}

#sec3_2 .txt {
   width: 400px;
   box-sizing: border-box;
   padding: 15px 20px 12px 54px;
   border-left: 1px solid #000;
   position: relative;
   margin-left: -55px;
}

#sec3_2 .txt:before {
   content: '';
   position: absolute;
   top: 0;
   left: -5px;
   bottom: 0;
   border-left: 2px solid #000;
}

#sec4 {
   background: url("../img/drink/s4_bg.jpg");
   color: #fff;
   position: relative;
   padding-bottom: 15px;
}

#sec4:before {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   height: 15px;
   background: url("../img/drink/bg_red.jpg");
}

#sec4 h2 {
   text-align: center;
   padding: 108px 0 102px;
}

#sec4 h2 span {
   position: relative;
   font-size: 33px;
   letter-spacing: 0.15em;
   padding: 20px 107px;
   display: inline-block;
}

#sec4 h2 span:before,
#sec4 h2 span:after {
   content: '';
   background: url("../img/drink/s4_deco.png") center top no-repeat;
   background-size: cover;
   width: 34px;
   height: 73px;
   position: absolute;
   top: 0;
}

#sec4 h2 span:before {
   left: 0;
}

#sec4 h2 span:after {
   right: 0;
   transform: rotate(180deg);
}

#sec4 .map {
   position: absolute;
   top: 295px;
   left: 0;
}

#sec4 .slide4 {
   margin-left: 424px;
   width: 623px;
}

#sec4 .txt {
   padding: 32px 0 114px 469px;
}

#sec4 .slick-dots {
   padding-left: 9px;
}

#sec4 .slick-dots li {
   display: inline-block;
   font-size: 0;
   line-height: 0;
   margin: 0 5px;
}

#sec4 .slick-dots li button {
   width: 35px;
   height: 15px;
   text-indent: -9999px;
   cursor: pointer;
   border: none;
   outline: none;
   transition: all .2s ease;
   background: #830b0b;
}

#sec4 .slick-dots li:hover button,
#sec4 .slick-dots li.slick-active button {
   background: #b2a894;
}

@media screen and (max-width:767px) {
   body {
      font-size: 15px;
   }

   #sec1 {
      margin-top: 10%;
      padding-bottom: 10%;
   }

   #sec1 .wrap {
      padding-top: 10%;
   }

   #sec1 .photo {
      position: static;
      margin-left: -40%;
      margin-right: -30%;
      width: auto;
   }

   #sec1 .photo h2 {
      top: 7%;
      left: 50%;
      transform: translateX(-50%);
      font-size: 5vw;
      width: 8vw;
      height: 90vw;
   }

   #sec1 .box {
      width: auto;
      padding: 10% 6%;
      margin-left: 6%;
      margin-top: -10%;
   }

   #sec1 .box:before {
      left: -6%;
   }

   #sec1 .box h3 {
      font-size: 5vw;
      line-height: 1.75;
      padding-bottom: 5%;
   }

   #sec2 .bg__parallax {
      height: 80vw;
   }

   #sec2 h2 {
      top: 40%;
      left: 50%;
      transform: translateX(-50%);
      font-size: 5vw;
      line-height: 2;
      padding: 4% 8%;
      margin-left: 0;
      width: 53%;
      position: absolute;
   }

   #sec2 h2:before,
   #sec2 h2:after {
      width: 12vw;
      height: 12vw;
   }

   #sec2_2 {
      position: relative;
   }

   #sec2_2:before {
      background: url(../img/drink/s3_bg_1_sp.png) center top no-repeat;
      background-size: 100%;
      right: 0;
      width: auto;
      height: 50vw;
   }

   #sec2_2:after {
      display: none;
   }

   #sec2_2 .bg {
      padding: 15% 0 20%;
   }

   #sec2_2 .bg:before {
      background: url("../img/drink/s3_bg_3_sp.png") center bottom no-repeat;
      background-size: 100%;
      right: 0;
      width: auto;
      height: 50vw;
   }

   #sec2_2 .bg:after {
      display: none;
   }

   #sec2_2 .click {
      top: 8%;
      left: 71%;
      background: url(../img/drink/s3_bg_cl.png) center top 14px no-repeat;
      width: 10vw;
      height: 10vw;
      background-size: 100%;
      padding: 0% 19% 12% 7%;
      font-size: 3.5vw;
      text-align: center;
   }

   #sec2_2 .slick-list {
      overflow: visible;
   }

   #sec2_2 .slick-dots {
      left: 0;
      right: 0;
      text-align: center;
      top: 35vw;
      transform: none;
   }

   #sec2_2 .slick-dots li {
      display: inline-block;
      font-size: 0;
      line-height: 0;
   }

   #sec2_2 .slick-dots li button {
      width: 15vw;
      height: 35vw;
   }

   #sec2_2 .slick-arrow {
      width: 14vw;
      height: 5vw;
      top: 75%;
   }

   #sec2_2 .slick-prev {
      left: -3%;
      background: url("../img/drink/preview_sp.png") no-repeat;
      background-size: cover;
   }

   #sec2_2 .slick-next {
      right: -3%;
      background: url("../img/drink/next_sp.png") no-repeat;
      background-size: cover;
   }

   #sec2_2 .item h3 {
      font-size: 6vw;
      line-height: 1.75;
      padding-bottom: 20vw;
      min-height: 80vw;
      padding-top: 10.5vw;
      box-sizing: border-box;
   }

   #sec2_2 .item h3.pt0 {
      padding-top: 0;
   }

   #sec2_2 .item h3 span {
      font-size: 4vw;
      line-height: 3;
   }

   #sec2_2 .item .photo {
      position: relative;
      z-index: 1;
   }

   #sec2_2 .item .photo:before {
      top: -20px;
      left: -5%;
      bottom: 30px;
      width: 20%;
   }

   #sec2_2 .item .photo:after {
      bottom: -20px;
      right: -5%;
      top: 30px;
      width: 20%;
   }

   #sec2_2 .txt {
      padding: 10% 0 15%;
   }

   #sec3 {
      background: url("../img/drink/bg_brown.jpg");
      padding-bottom: 25%;
   }

   #sec3 .bg__parallax {
      height: 120vw;
   }

   #sec3 .bg__parallax h2 {
      top: 13%;
      left: 50%;
      font-size: 5vw;
      width: 8vw;
      height: 90vw;
      padding: 0;
      position: absolute;
   }

   #sec3 .set1 .photo {
      width: auto;
      padding: 10% 0 5%;
      margin-right: -5%;
   }

   #sec3 .set1 .photo .heading {
      font-size: 5vw;
      line-height: 2.5;
      margin-top: -20vw;
      margin-right: 5%;
      padding: 0 15%;
   }

   #sec3 .set1 .photo .heading .bd_wh {
      padding-top: 7vw;
   }

   #sec3 .set1 .photo .heading .bd_bl {
      padding-bottom: 7vw;
   }

   #sec3 .set2 {
      position: relative;
   }

   #sec3 .set2 .photo_1 {
      position: relative;
      top: 0;
      margin-left: 8%;
      left: 0;
   }

   #sec3 .set2 .photo_1:before {
      top: 15%;
      left: -8%;
      bottom: -15%;
      width: 30%;
   }

   #sec3 .set2 .text {
      margin-left: 0;
      padding: 5% 0 10%;
   }

   #sec3 .set2 .text h3 {
      font-size: 6vw;
      padding: 0 0 5%;
   }

   #sec3_2 {
      padding-bottom: 15%;
   }

   #sec3_2:before {
      background: url("../img/drink/s3_deco_1_sp.png") center top no-repeat;
      background-size: 100%;
      right: 0;
      width: auto;
      height: 50vw;
   }

   #sec3_2:after {
      display: none;
   }

   #sec3_2 h2 {
      font-size: 5.5vw;
      line-height: 1.75;
      padding: 15% 0 5%;
   }

   #sec3_2 h2:before {
      top: -8vw;
      height: 15vw;
   }

   #sec3_2 .photo {
      position: relative;
      top: 0;
      left: 0;
      width: auto;
   }

   #sec3_2 .photo:before {
      top: 40px;
      right: -40px;
      bottom: -20px;
      width: 40%;
   }

   #sec3_2 .txt {
      width: auto;
      padding: 6% 0 5% 5%;
      margin-left: 8px;
      margin-top: 7%;
   }

   #sec4 {
      padding-bottom: 10%;
   }

   #sec4:before {
      height: 10px;
   }

   #sec4 h2 {
      padding: 15% 0 10%;
   }

   #sec4 h2 span {
      font-size: 6vw;
      padding: 4% 10%;
   }

   #sec4 h2 span:before,
   #sec4 h2 span:after {
      background: url(../img/drink/s4_deco.png) center top no-repeat;
      background-size: cover;
      width: 5vw;
      height: 11vw;
      top: 19%;
   }

   #sec4 h2 span:before {
      left: 0;
   }

   #sec4 h2 span:after {
      right: 0;
      transform: rotate(180deg);
   }

   #sec4 .map {
      position: static;
      padding: 10% 20% 5%;
   }

   #sec4 .slide4 {
      margin-left: 0;
      width: auto;
   }

   #sec4 .txt {
      padding: 5% 0;
   }

   #sec4 .slick-dots {
      padding-left: 0;
      text-align: center;
   }
}