@charset "utf-8";
.products__btn, .modal__bg, .cont, .cont__center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.products__btn > *, .modal__bg > *, .cont > *, .cont__center > * {
  min-height: 0%;
}

.taste__container, .gallery__title, .menu__lists, .cont__container, .cont__title-cont {
  box-sizing: content-box !important;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .taste__container, .gallery__title, .menu__lists, .cont__container, .cont__title-cont {
    max-width: 94.6666666667vw;
    padding-left: 0;
    padding-right: 0;
  }
}

.menu__item a, .modal__movie-close, .link, .cont button, .cont a {
  color: inherit;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
}
.menu__item a:hover, .modal__movie-close:hover, .link:hover, .cont button:hover, .cont a:hover {
  opacity: 0.7;
}

.products, .news, .gallery {
  background: url(/alcohol/nonalcohol/greensfree/index/images/index-bg-texture.png), linear-gradient(#00ffe7, #00b297);
}

.movie__thumb, .gallery__thumb {
  position: relative;
}
.movie__thumb::before, .gallery__thumb::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-icon-movie-01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .movie__thumb::before, .gallery__thumb::before {
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/sp/index-icon-movie-01.png);
  }
}

.movie, .campaign, .special {
  background-image: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-bg-cont.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 768px) {
  .movie, .campaign, .special {
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/sp/index-bg-cont.jpg);
  }
}

/* common:start */
[v-cloak] {
  display: none;
}

@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .spOnly {
    display: none !important;
  }
}

.cont {
  margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .cont {
    margin-bottom: 90px;
  }
}
.cont img,
.cont picture,
.cont video,
.cont canvas,
.cont svg {
  display: block;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .cont img,
  .cont picture,
  .cont video,
  .cont canvas,
  .cont svg {
    max-width: none;
    width: 100%;
  }
}
.cont button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
.cont__contents {
  width: 100%;
  overflow: hidden;
}
.cont__title {
  background-image: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-bg-hdg.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
  margin-bottom: 80px;
}
@media screen and (max-width: 2000px) {
  .cont__title {
    background-size: cover;
  }
}
@media screen and (max-width: 768px) {
  .cont__title {
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/sp/index-bg-hdg.png);
    margin-bottom: 13.3333333333vw;
  }
}
/* common:end */
.js-accordion__trigger {
  position: relative;
  cursor: pointer;
}
.js-accordion__target {
  overflow: hidden;
}
.js-accordion__target-enter-active {
  transition: all 0.5s ease-in-out;
}
.js-accordion__target-leave-active {
  transition: all 0.5s ease-in-out;
}
.js-accordion__target-enter, .js-accordion__target-leave-to {
  opacity: 0;
}

/* js-fade:start */
:root {
  --fade-translate-x: 0px;
  --fade-translate-y: 0px;
  --fade-duration: 500ms;
}

/* 表示方向 */
.up {
  --fade-translate-y: 50px;
}

.down {
  --fade-translate-y: -50px;
}

.fromLeft {
  --fade-translate-x: -50px;
}

.fromRight {
  --fade-translate-x: 50px;
}

.jsScroll {
  opacity: 0;
  transition-duration: 1500ms, 1000ms;
  transition-property: opacity, transform;
  transition-delay: 0ms;
  transform: translate(var(--fade-translate-x), var(--fade-translate-y));
}
.jsScroll.delay--100 {
  transition-delay: 100ms;
}
.jsScroll.delay--200 {
  transition-delay: 200ms;
}
.jsScroll.delay--300 {
  transition-delay: 300ms;
}
.jsScroll.delay--400 {
  transition-delay: 400ms;
}
.jsScroll.delay--500 {
  transition-delay: 500ms;
}
.jsScroll.delay--600 {
  transition-delay: 600ms;
}
.jsScroll.delay--700 {
  transition-delay: 700ms;
}
.jsScroll.delay--800 {
  transition-delay: 800ms;
}
.jsScroll.delay--900 {
  transition-delay: 900ms;
}
.jsScroll.delay--1000 {
  transition-delay: 1000ms;
}

.jsScrollIn {
  opacity: 1;
  transform: translate(0, 0);
}

.jsFvHide {
  opacity: 0;
  transition-duration: 1.5s;
  transition-property: opacity, transform;
  transition-delay: 0s;
}
.jsFvHide.jsFvShow {
  opacity: 1;
}

.fade-enter-active {
  transition: opacity 1s;
}
.fade-leave-active {
  transition: opacity 1s;
}
.fade-enter, .fade-leave-to {
  opacity: 0;
}

/* js-fade:end */
.modal {
  position: fixed;
  z-index: 9999;
}
.modal__bg {
  background-color: rgba(26, 26, 26, 0.8);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}
.modal__movie {
  width: 800px;
  max-width: 90vw;
  position: relative;
}
@media (orientation: landscape) {
  .modal__movie {
    max-width: 100vmin;
  }
}
.modal__movie-close {
  position: absolute;
  right: 0;
  bottom: 100%;
  margin-bottom: 5px;
  width: 20px;
  height: 20px;
}
.modal__fv-cont {
  display: none;
}
.modal__fv-close {
  position: absolute;
  bottom: 105%;
  right: 0;
  width: 20px;
  height: 20px;
}
.modal__fv .jsFvShow {
  display: block;
}

.movie-area {
  margin: auto;
  max-width: 100%;
}
.movie-area__container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.movie-area iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.mv__image--02, .mv__image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  height: 506px;
}
@media screen and (min-width: 2001px) {
  .mv__image--02, .mv__image {
    height: 25.3vw;
  }
}
@media screen and (max-width: 1240px) {
  .mv__image--02, .mv__image {
    max-width: 1240px;
    height: 40.8064516129vw;
  }
}
@media screen and (max-width: 768px) {
  .mv__image--02, .mv__image {
    height: auto;
  }
}

/* mv:start */
.mv {
  width: 100%;
}
.mv__image {
  background-image: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-mv-01.jpg);
}
@media screen and (max-width: 768px) {
  .mv__image {
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/sp/index-mv-01.jpg);
  }
}
.mv__image--02 {
  background-image: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-mv-02.jpg);
}
@media screen and (max-width: 768px) {
  .mv__image--02 {
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/sp/index-mv-02.jpg);
  }
}

/* mv:end */
/* menu:start */
.menu {
  width: 100%;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1000;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .menu {
    order: -1;
  }
}
@media screen and (min-width: 769px) {
  .menu__container {
    background: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-bg-menu.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    margin-top: -1px;
  }
}
@media screen and (max-width: 768px) {
  .menu__container {
    position: relative;
  }
}
.menu__head {
  position: relative;
  z-index: 3;
  background-color: #01b398;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 769px) {
  .menu__head {
    display: none;
  }
}
.menu__trigger {
  width: 60px;
}
.menu__lists {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.menu__logo {
  width: 9.1666666667%;
  padding-top: 4px;
  padding-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .menu__logo {
    width: 50px;
  }
}
.menu__content {
  width: 89.0625%;
}
@media screen and (max-width: 768px) {
  .menu__content {
    position: absolute;
    top: 31px;
    left: 0;
    z-index: 2;
    width: 100%;
    padding-top: 12px;
    background-color: #006a4d;
  }
}
.menu__bg {
  position: absolute;
  top: 31px;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100vw;
  height: 100vh;
}
.menu__list {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .menu__list {
    flex-direction: column;
    width: 89.3333333333%;
    margin-left: auto;
    margin-right: auto;
  }
}
.menu__list li {
  position: relative;
}
@media screen and (max-width: 768px) {
  .menu__list li:not(:last-child) {
    border-bottom: 1px solid #00af9a;
  }
}
.menu__item {
  color: #fefefe;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (max-width: 1000px) {
  .menu__item {
    font-size: 1.4vw;
  }
}
@media screen and (max-width: 768px) {
  .menu__item {
    height: 14vw;
    font-size: 3.4666666667vw;
  }
}
.menu__item a {
  text-decoration: none;
  padding-top: 10px;
  padding-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .menu__item a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
  }
}
@media screen and (max-width: 768px) {
  .menu__item a::after {
    content: "";
    width: 2.1333333333vw;
    height: 3.3333333333vw;
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/sp/index-icon-menu-arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
}

.menu-enter-active {
  transition: all 0.5s;
}
.menu-leave-active {
  transition: all 0.5s;
}
.menu-enter, .menu-leave-to {
  opacity: 0;
  transform: translateY(-100%);
}

/* menu:end */
/* gallery:start */
.gallery {
  width: 100%;
}
.gallery__container {
  padding-bottom: 140px;
}
@media screen and (max-width: 1000px) {
  .gallery__container {
    padding-bottom: 14vw;
  }
}
@media screen and (max-width: 768px) {
  .gallery__container {
    padding-bottom: 26.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .gallery__title {
    max-width: 89.3333333333vw;
  }
}
.gallery__title-image {
  width: 69.7916666667%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5.2083333333%;
}
@media screen and (max-width: 768px) {
  .gallery__title-image {
    width: 100%;
    margin-bottom: 8.9552238806%;
  }
}
.gallery__contents {
  position: relative;
}
.gallery__content {
  width: 100%;
  line-height: 0;
}
.gallery__movie {
  width: 100%;
}
.gallery__thumb {
  width: 100%;
  max-width: none;
}
.gallery__thumb img {
  width: 100%;
  max-width: none;
}
.gallery__text {
  width: 100%;
}
.gallery__text img {
  margin-left: auto;
  margin-right: auto;
}
.gallery .swiper-slide {
  width: 33.35vw;
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  .gallery .swiper-slide {
    width: 70.1333333333vw;
  }
}
.gallery .swiper-slide:not(.swiper-slide-active) .gallery__movie {
  cursor: auto;
}
.gallery .swiper-slide:not(.swiper-slide-active) .gallery__movie:hover {
  opacity: 1;
}
.gallery .swiper-slide-active {
  opacity: 1;
}
.gallery .swiper-pagination {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
}
.gallery .swiper-pagination-bullet {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #fff;
  background-color: transparent;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .gallery .swiper-pagination-bullet {
    width: 4.6666666667vw;
    height: 4.6666666667vw;
  }
}
.gallery .swiper-pagination-bullet:not(:last-child) {
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .gallery .swiper-pagination-bullet:not(:last-child) {
    margin-right: 4vw;
  }
}
.gallery .swiper-pagination-bullet-active {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #fff;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .gallery .swiper-pagination-bullet-active {
    width: 4.6666666667vw;
    height: 4.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .gallery .swiper-button-prev {
    position: absolute;
    top: 0;
    left: 0;
    width: 33.35vw;
    height: 100%;
    margin-top: 0;
  }
  .gallery .swiper-button-prev::after {
    content: "";
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-icon-arrow-left.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    width: 1.8vw;
    height: 3.15vw;
    position: absolute;
    top: 36%;
    left: 92.9535232384%;
  }
}
@media screen and (max-width: 768px) {
  .gallery .swiper-button-prev {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .gallery .swiper-button-next {
    position: absolute;
    top: 0;
    right: 0;
    width: 33.35vw;
    height: 100%;
    margin-top: 0;
  }
  .gallery .swiper-button-next::after {
    content: "";
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-icon-arrow-right.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    width: 1.8vw;
    height: 3.15vw;
    position: absolute;
    top: 36%;
    right: 92.9535232384%;
  }
}
@media screen and (max-width: 768px) {
  .gallery .swiper-button-next {
    display: none;
  }
}

/* gallery:end */
/* about:start */
.about {
  width: 100%;
  background-image: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-bg-about.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  .about {
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/sp/index-bg-about.jpg);
  }
}
.about__contents {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  padding-top: 15.1041666667%;
  padding-bottom: 10.4166666667%;
}
@media screen and (max-width: 768px) {
  .about__contents {
    width: 100%;
    flex-wrap: wrap;
    padding-top: 26.7605633803%;
    padding-bottom: 23.2394366197%;
  }
}
.about__texts {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .about__texts {
    width: 100%;
  }
}
.about__image {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .about__image {
    width: 100%;
  }
}

/* about:end */
/* taste:start */
.taste {
  width: 100%;
  background-image: url(/alcohol/nonalcohol/greensfree/index/images/pc/index-bg-taste.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  .taste {
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/sp/index-bg-taste.jpg);
  }
}
@media screen and (max-width: 768px) {
  .taste .cont__title {
    background-image: url(/alcohol/nonalcohol/greensfree/index/images/sp/index-bg-taste-hdg.png);
  }
}
@media screen and (max-width: 768px) {
  .taste__container {
    max-width: 89.3333333333vw;
  }
}
.taste__awards {
  margin-bottom: 9.375%;
}
@media screen and (max-width: 768px) {
  .taste__awards {
    margin-bottom: 0;
  }
}
.taste__hop {
  margin-bottom: 9.375%;
}
@media screen and (max-width: 768px) {
  .taste__hop {
    margin-bottom: 0;
  }
}
.taste__drink {
  padding-bottom: 14.5833333333%;
}
@media screen and (max-width: 768px) {
  .taste__drink {
    padding-bottom: 22.3880597015%;
  }
}
.taste__subtitle {
  margin-bottom: 3.125%;
}
@media screen and (max-width: 768px) {
  .taste__subtitle {
    margin-bottom: 5.9701492537%;
  }
}
.taste__list li:not(:last-child) {
  margin-bottom: 2.0833333333%;
}
@media screen and (max-width: 768px) {
  .taste__list li:not(:last-child) {
    margin-bottom: 2.9850746269%;
  }
}

/* taste:end */
/* special:start */
.special {
  width: 100%;
}
.special__bnr {
  width: 81.25%;
  display: block;
  padding-bottom: 10.4166666667%;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .special__bnr {
    width: 100%;
    padding-bottom: 16.9014084507%;
  }
}

/* special:end */
/* news:start */
.news {
  width: 100%;
}
.news__content {
  width: 100%;
  padding-bottom: 8.3333333333%;
}
@media screen and (max-width: 768px) {
  .news__content {
    padding-bottom: 14.7887323944%;
  }
}
.news__bnr {
  width: 81.25%;
  display: block;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .news__bnr {
    width: 100%;
  }
}
.news__note {
  width: 84.2708333333%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .news__note {
    width: 100%;
  }
}

/* news:end */
/* campaign:start */
.campaign {
  width: 100%;
}
.campaign__lists {
  padding-bottom: 10.4166666667%;
}
@media screen and (max-width: 768px) {
  .campaign__lists {
    padding-bottom: 16.9014084507%;
  }
}
@media screen and (max-width: 768px) {
  .campaign__lists li {
    width: 78.8732394366%;
    margin-left: auto;
    margin-right: auto;
  }
}
.campaign__lists li:not(:last-child) {
  margin-bottom: 6.25%;
}
@media screen and (max-width: 768px) {
  .campaign__lists li:not(:last-child) {
    margin-bottom: 10%;
  }
}

/* campaign:end */
.products__info dd, .products__info dt {
  color: #00472d;
  font-size: 1.6rem;
  letter-spacing: 0.054em;
}
@media screen and (max-width: 1000px) {
  .products__info dd, .products__info dt {
    font-size: 2.1333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .products__info dd, .products__info dt {
    font-size: 4.2666666667vw;
  }
}

/* products:start */
.products {
  width: 100%;
}
.products .cont__title {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .products .cont__title {
    margin-bottom: 8%;
  }
}
.products__container {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 12.5%;
}
@media screen and (max-width: 768px) {
  .products__container {
    padding-bottom: 22.5352112676%;
  }
}
.products__image {
  width: 37.5%;
}
@media screen and (max-width: 768px) {
  .products__image {
    width: 100%;
    margin-bottom: 11.2676056338%;
  }
}
.products__info {
  width: 56.5625%;
}
@media screen and (max-width: 768px) {
  .products__info {
    width: 100%;
  }
}
.products__info-cont {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-top: 2.7624309392%;
  padding-bottom: 2.9465930018%;
}
@media screen and (max-width: 768px) {
  .products__info-cont {
    padding-top: 4.2253521127%;
    padding-bottom: 4.2253521127%;
  }
}
.products__info-cont:not(:last-child) {
  border-bottom: 1px solid #00472d;
}
.products__info dt {
  width: 29.4659300184%;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .products__info dt {
    width: 100%;
  }
}
.products__info dd {
  width: 70.5340699816%;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .products__info dd {
    width: 100%;
    line-height: 1.5;
    padding-right: 2.8169014085%;
  }
}
.products__btn {
  width: 100%;
  padding-top: 4.1666666667%;
}
@media screen and (max-width: 768px) {
  .products__btn {
    padding-top: 9.8591549296%;
  }
}
.products__btn-link {
  display: block;
  width: 39.4791666667%;
}
@media screen and (max-width: 768px) {
  .products__btn-link {
    width: 80.2816901408%;
  }
}

/* products:end */
/* movie:start */
.movie {
  width: 100%;
}
.movie__title {
  width: 69.7916666667%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5.2083333333%;
}
@media screen and (max-width: 768px) {
  .movie__title {
    width: 94.3661971831%;
    margin-bottom: 8.4507042254%;
  }
}
.movie__movie-area {
  width: 69.4791666667%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 12.5%;
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .movie__movie-area {
    width: 74.2253521127%;
    padding-bottom: 22.5352112676%;
  }
}
/* movie:end */