@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  font-family: "Noto Serif JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
}
body a, body button {
  outline: none;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  body a, body button {
    opacity: 1;
    transform-style: preserve-3d;
    transition-property: opacity;
    transition-duration: 300ms;
    transition-timing-function: linear;
    transition-delay: 0ms;
  }
  body a:hover, body button:hover {
    opacity: 0.6;
  }
}
body a:hover, body button:hover {
  text-decoration: none;
}
body img {
  vertical-align: bottom;
  border: 0;
  outline: none;
}
body sup, body sub {
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  position: relative;
  font-size: 50%;
}
body sup {
  bottom: 1ex;
}
body sub {
  top: 0.5ex;
}
body input, body textarea, body select, body button {
  padding: 0;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
body input::-ms-expand, body textarea::-ms-expand, body select::-ms-expand, body button::-ms-expand {
  display: none;
}
body .word_break {
  word-wrap: break-word;
  word-break: break-all;
}
body * {
  outline: none;
}
body *:hover, body *:active, body *:focus {
  outline: none;
}

@media screen and (min-width: 768px) {
  body {
    min-width: 1000px;
  }
  body main article .btn {
    display: block;
    position: relative;
  }
  body main article .btn span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  body main article .btn span.bg::before, body main article .btn span.bg::after, body main article .btn span.border::before, body main article .btn span.border::after {
    content: "";
    display: block;
    width: calc(100% - 5px);
    height: calc(100% - 5px);
    position: absolute;
  }
  body main article .btn span.bg::before, body main article .btn span.border::before {
    top: 0;
    left: 0;
  }
  body main article .btn span.bg::after, body main article .btn span.border::after {
    bottom: 0;
    right: 0;
  }
  body main article .btn span.bg::before, body main article .btn span.bg::after {
    background-color: #fff;
  }
  body main article .btn span.border::before, body main article .btn span.border::after {
    border: 1px solid #AF9B78;
    box-sizing: border-box;
  }
  body main article .btn span.text {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #502800;
    width: fit-content;
    height: fit-content;
  }
  body main article header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 50px;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
  }
  body main article header h1 {
    display: block;
    width: 261px;
    height: 50px;
  }
  body main article header h1 a {
    width: 100%;
    height: 100%;
  }
  body main article header h1 a img {
    width: 100%;
    height: auto;
  }
  body main article header .instagram {
    display: block;
    width: 50px;
  }
  body main article .kv {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    background-color: #1E1E1E;
    position: relative;
  }
  body main article .kv .kv_slide_frame {
    width: 100%;
    height: 100%;
  }
  body main article .kv .kv_slide_frame .kv_slides {
    width: 100%;
    height: 100%;
  }
  body main article .kv .kv_slide_frame .kv_slides img {
    width: 100%;
    height: 100%;
  }
  body main article .kv .kv_movie_frame {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
  }
  body main article .kv .kv_movie_frame video {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }
  body main article .kv .kv_movie_frame::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
  }
  body main article .kv p {
    font-size: 40px;
    line-height: 60px;
    font-weight: 600;
    color: #fff;
    display: block;
    width: 90%;
    max-width: 1000px;
    position: absolute;
    top: 55.5555555556%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
  body main article section {
    padding: 200px 0;
  }
  body main article section h2 {
    display: block;
    width: 600px;
    height: 186px;
    margin: 0 auto 34px;
    font-family: "haboro-contrast-normal", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 80px;
    line-height: 1;
    font-weight: 400;
    text-align: center;
  }
  body main article section h2 span {
    font-size: 30px;
    margin-bottom: 40px;
    display: block;
  }
  body main article section p {
    font-size: 20px;
    line-height: 50px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
  }
  body main article section.concept {
    background-color: #1E1E1E;
    color: #fff;
  }
  body main article section.concept .concept_images {
    width: 100%;
    max-width: 1420px;
    height: auto;
    aspect-ratio: 1420/1080;
    margin: 170px auto 0;
    position: relative;
  }
  body main article section.concept .concept_images img {
    height: auto;
    position: absolute;
  }
  body main article section.concept .concept_images img:nth-of-type(1) {
    width: 42.2535211268%;
    top: 0;
    left: 0;
  }
  body main article section.concept .concept_images img:nth-of-type(2) {
    width: 29.5774647887%;
    right: 24.6478873239%;
    bottom: 0;
  }
  body main article section.concept .concept_images img:nth-of-type(3) {
    width: 21.1267605634%;
    right: 0;
    bottom: 25.9259259259%;
  }
  body main article section.drink {
    background-color: #EBEBEB;
    color: #502800;
  }
  body main article section.drink .drink_inner {
    width: 100%;
    max-width: 1920px;
    height: auto;
    aspect-ratio: 1920/720;
    padding-right: 50%;
    box-sizing: border-box;
    margin: auto;
    position: relative;
  }
  body main article section.drink .drink_inner .video {
    width: 50%;
    height: auto;
    aspect-ratio: 16/9;
    background-color: #ddd;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  body main article section.drink .drink_inner a {
    width: 265px;
    height: 65px;
    margin: 90px auto 0;
  }
  body main article section.drink .drink_inner a span.text {
    font-size: 15px;
  }
  body main article section.drink .drink_slide_frame {
    margin-top: 200px;
    width: 100%;
    height: 560px;
    overflow: hidden;
    position: relative;
  }
  body main article section.drink .drink_slide_frame .drink_slide {
    width: 2820px;
    display: flex;
    position: absolute;
    top: 0;
    animation-duration: 60s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-fill-mode: both;
  }
  body main article section.drink .drink_slide_frame .drink_slide:nth-of-type(1) {
    animation-name: slider_animation;
  }
  body main article section.drink .drink_slide_frame .drink_slide:nth-of-type(2) {
    animation-name: slider_animation2;
  }
  @keyframes slider_animation {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  @keyframes slider_animation2 {
    from {
      transform: translateX(100%);
    }
    to {
      transform: translateX(0);
    }
  }
  body main article section.drink .drink_slide_frame .drink_slide img {
    margin-right: 50px;
  }
  body main article section.gallery {
    background-color: #fff;
    color: #502800;
  }
  body main article section.gallery .gallery_slide {
    width: 90%;
    max-width: 1000px;
    margin: 100px auto 0;
  }
  body main article section.gallery .gallery_dot {
    width: 90%;
    max-width: 1000px;
    margin: 50px auto 0;
    display: flex;
    justify-content: center;
    gap: 20px;
  }
  body main article section.gallery .gallery_dot button {
    display: block;
    width: calc((100% - 100px) / 6);
    height: auto;
    aspect-ratio: 3/2;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
  }
  body main article section.gallery .gallery_dot button span {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity linear 0.5s;
  }
  body main article section.gallery .gallery_dot button.on span {
    opacity: 0;
  }
  body main article section.gallery .gallery_dot button.dot1 {
    background-image: url("../img/gallery_dot1.jpg");
  }
  body main article section.gallery .gallery_dot button.dot2 {
    background-image: url("../img/gallery_dot2.jpg");
  }
  body main article section.gallery .gallery_dot button.dot3 {
    background-image: url("../img/gallery_dot3.jpg");
  }
  body main article section.gallery .gallery_dot button.dot4 {
    background-image: url("../img/gallery_dot4.jpg");
  }
  body main article section.gallery .gallery_dot button.dot5 {
    background-image: url("../img/gallery_dot5.jpg");
  }
  body main article section.gallery .gallery_dot button.dot6 {
    background-image: url("../img/gallery_dot6.jpg");
  }
  body main article footer {
    background-color: #fff;
    color: #502800;
    padding: 60px 0 70px;
  }
  body main article footer .footer_logo {
    width: 600px;
    margin: auto;
  }
  body main article footer .tel {
    display: block;
    width: fit-content;
    margin: 85px auto 0;
    padding-left: 90px;
    box-sizing: border-box;
    position: relative;
    font-size: 50px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0.1em;
  }
  body main article footer .tel::before {
    content: "";
    display: block;
    width: 80px;
    height: 80px;
    background: url("../img/footer_tel.png") no-repeat center/100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
  body main article footer .tel_text {
    margin-top: 40px;
    font-size: 24px;
    line-height: 30px;
    text-align: center;
  }
  body main article footer .tel_text small {
    font-size: 14px;
  }
  body main article footer .instagram {
    display: block;
    width: 60px;
    margin: 100px auto 0;
  }
  body main article footer .footer_btns {
    display: flex;
    justify-content: space-between;
    width: 805px;
    margin: 85px auto 0;
  }
  body main article footer .footer_btns a {
    width: 305px;
    height: 85px;
  }
  body main article footer .map {
    width: 90%;
    height: 500px;
    max-width: 1000px;
    margin: 100px auto 0;
  }
  body main article footer .info {
    width: 90%;
    max-width: 1000px;
    margin: 70px auto 0;
    display: flex;
  }
  body main article footer .info ul {
    width: 50%;
  }
  body main article footer .info ul li {
    font-size: 15px;
    line-height: 40px;
    letter-spacing: 0.1em;
  }
  body main article footer .info ul li span {
    display: inline-block;
  }
  body main article footer .info ul.left li {
    padding-left: 7em;
  }
  body main article footer .info ul.left li span {
    text-indent: -7em;
  }
  body main article footer .info ul.right li {
    padding-left: 11em;
  }
  body main article footer .info ul.right li span {
    text-indent: -11em;
  }
  body main article footer .copyright {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 80px;
  }
  .pc_none {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  html, body {
    font-size: 0.2666666667vw;
  }
  body {
    min-width: 320px;
  }
  body main article .btn {
    display: block;
    position: relative;
  }
  body main article .btn span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
  body main article .btn span.bg::before, body main article .btn span.bg::after, body main article .btn span.border::before, body main article .btn span.border::after {
    content: "";
    display: block;
    width: calc(100% - 3px);
    height: calc(100% - 3px);
    position: absolute;
  }
  body main article .btn span.bg::before, body main article .btn span.border::before {
    top: 0;
    left: 0;
  }
  body main article .btn span.bg::after, body main article .btn span.border::after {
    bottom: 0;
    right: 0;
  }
  body main article .btn span.bg::before, body main article .btn span.bg::after {
    background-color: #fff;
  }
  body main article .btn span.border::before, body main article .btn span.border::after {
    border: 1px solid #AF9B78;
    box-sizing: border-box;
  }
  body main article .btn span.text {
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #502800;
    width: fit-content;
    height: fit-content;
  }
  body main article img {
    width: 100%;
  }
  body main article header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 15px;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
  }
  body main article header h1 {
    display: block;
    width: 130px;
    height: 25px;
  }
  body main article header h1 a {
    width: 100%;
    height: 100%;
  }
  body main article header h1 a img {
    width: 100%;
    height: auto;
  }
  body main article header .instagram {
    display: block;
    width: 25px;
  }
  body main article .kv {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    overflow: hidden;
    background-color: #1E1E1E;
    position: relative;
  }
  body main article .kv .kv_slide_frame {
    width: 100%;
    height: 100%;
  }
  body main article .kv .kv_slide_frame .kv_slides {
    width: 100%;
    height: 100%;
  }
  body main article .kv .kv_slide_frame .kv_slides img {
    width: 100%;
    height: 100%;
  }
  body main article .kv .kv_movie_frame {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
  }
  body main article .kv .kv_movie_frame video {
    width: auto;
    height: 100%;
    aspect-ratio: 16/9;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-46%);
  }
  body main article .kv .kv_movie_frame::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
  }
  body main article .kv p {
    font-size: 20px;
    line-height: 35px;
    font-weight: 600;
    color: #fff;
    display: block;
    width: calc(100% - 50px);
    position: absolute;
    top: 60.1851851852%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
  }
  body main article section {
    padding: 75px 0 50px;
    width: 100%;
    overflow-x: hidden;
  }
  body main article section h2 {
    display: block;
    width: 300px;
    height: 93px;
    margin: 0 auto 15px;
    font-family: "haboro-contrast-normal", Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 40px;
    line-height: 1;
    font-weight: 400;
    text-align: center;
  }
  body main article section h2 span {
    font-size: 20px;
    margin-bottom: 20px;
    display: block;
  }
  body main article section p {
    font-size: 14px;
    line-height: 30px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
  }
  body main article section.concept {
    background-color: #1E1E1E;
    color: #fff;
  }
  body main article section.concept .concept_images {
    width: calc(100% - 50px);
    max-width: 325px;
    margin: 50px auto 0;
  }
  body main article section.concept .concept_images img {
    display: block;
    height: auto;
  }
  body main article section.concept .concept_images img:nth-of-type(1) {
    width: 270px;
    margin: 0 auto 0 0;
  }
  body main article section.concept .concept_images img:nth-of-type(2) {
    width: 210px;
    margin: 25px 0 0 auto;
  }
  body main article section.concept .concept_images img:nth-of-type(3) {
    width: 150px;
    margin: 25px auto 0 0;
  }
  body main article section.drink {
    background-color: #EBEBEB;
    color: #502800;
  }
  body main article section.drink .drink_inner {
    width: calc(100% - 50px);
    margin: auto;
  }
  body main article section.drink .drink_inner .video {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    margin: 50px auto 0;
  }
  body main article section.drink .drink_inner a {
    width: 213px;
    height: 47px;
    margin: 50px auto 0;
  }
  body main article section.drink .drink_inner a span.text {
    font-size: 12px;
  }
  body main article section.drink .drink_slide_frame {
    margin-top: 60px;
    width: 100%;
    height: 250px;
    overflow: hidden;
    position: relative;
  }
  body main article section.drink .drink_slide_frame .drink_slide {
    width: 1182px;
    display: flex;
    position: absolute;
    top: 0;
    animation-duration: 60s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-fill-mode: both;
  }
  body main article section.drink .drink_slide_frame .drink_slide:nth-of-type(1) {
    animation-name: slider_animation;
  }
  body main article section.drink .drink_slide_frame .drink_slide:nth-of-type(2) {
    animation-name: slider_animation2;
  }
  @keyframes slider_animation {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  @keyframes slider_animation2 {
    from {
      transform: translateX(100%);
    }
    to {
      transform: translateX(0);
    }
  }
  body main article section.drink .drink_slide_frame .drink_slide img {
    width: 187px;
    margin-right: 10px;
  }
  body main article section.gallery {
    background-color: #fff;
    color: #502800;
  }
  body main article section.gallery .gallery_slide {
    width: 100%;
    margin: 50px auto 0;
  }
  body main article section.gallery .gallery_dot {
    width: 100%;
    margin: 25px auto 0;
    display: flex;
    justify-content: center;
    gap: 7px;
    flex-wrap: wrap;
  }
  body main article section.gallery .gallery_dot button {
    display: block;
    width: calc((100% - 14px) / 3);
    height: auto;
    aspect-ratio: 3/2;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
  }
  body main article section.gallery .gallery_dot button span {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity linear 0.5s;
  }
  body main article section.gallery .gallery_dot button.on span {
    opacity: 0;
  }
  body main article section.gallery .gallery_dot button.dot1 {
    background-image: url("../img/gallery_dot1.jpg");
  }
  body main article section.gallery .gallery_dot button.dot2 {
    background-image: url("../img/gallery_dot2.jpg");
  }
  body main article section.gallery .gallery_dot button.dot3 {
    background-image: url("../img/gallery_dot3.jpg");
  }
  body main article section.gallery .gallery_dot button.dot4 {
    background-image: url("../img/gallery_dot4.jpg");
  }
  body main article section.gallery .gallery_dot button.dot5 {
    background-image: url("../img/gallery_dot5.jpg");
  }
  body main article section.gallery .gallery_dot button.dot6 {
    background-image: url("../img/gallery_dot6.jpg");
  }
  body main article footer {
    background-color: #fff;
    color: #502800;
    padding: 50px 0 80px;
  }
  body main article footer .footer_logo {
    width: 250px;
    margin: auto;
  }
  body main article footer .tel {
    display: block;
    width: fit-content;
    margin: 42px auto 0;
    padding-left: 45px;
    box-sizing: border-box;
    position: relative;
    font-size: 25px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0.1em;
  }
  body main article footer .tel::before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background: url("../img/footer_tel.png") no-repeat center/100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }
  body main article footer .tel_text {
    margin-top: 20px;
    font-size: 18px;
    line-height: 1;
    text-align: center;
  }
  body main article footer .tel_text small {
    font-size: 12px;
  }
  body main article footer .instagram {
    display: block;
    width: 50px;
    margin: 50px auto 0;
  }
  body main article footer .footer_btns {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 50px);
    max-width: 325px;
    margin: 30px auto 0;
  }
  body main article footer .footer_btns a {
    width: calc((100% - 18px) / 2);
    height: auto;
    aspect-ratio: 315/95;
  }
  body main article footer .map {
    width: calc(100% - 50px);
    height: auto;
    aspect-ratio: 650/325;
    margin: 50px auto 0;
  }
  body main article footer .info {
    width: fit-content;
    max-width: calc(100% - 50px);
    margin: 42px auto 0;
  }
  body main article footer .info ul {
    width: fit-content;
  }
  body main article footer .info ul li {
    width: fit-content;
    font-size: 12px;
    line-height: 17px;
    padding-left: 6em;
  }
  body main article footer .info ul li span {
    display: inline-block;
    text-indent: -6em;
  }
  body main article footer .info ul li:nth-of-type(n+2) {
    margin-top: 17px;
  }
  body main article footer .info ul.right {
    margin-top: 17px;
  }
  body main article footer .info ul.right li:last-of-type {
    padding-left: 0;
  }
  body main article footer .info ul.right li:last-of-type span {
    text-indent: 0;
  }
  body main article footer .copyright {
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 80px;
  }
  .sp_none {
    display: none !important;
  }
}
.animate .animate-fade {
  opacity: 0;
  transition-property: opacity;
  transition-duration: 1.5s;
  transition-timing-function: linear;
  transition-delay: 0s;
}
.animate .animate-fade-l,
.animate .animate-fade-lb {
  position: relative;
  overflow: hidden;
}
.animate .animate-fade-l::after,
.animate .animate-fade-lb::after {
  content: "";
  display: block;
  width: 200%;
  height: 200%;
  position: absolute;
  top: 0;
  left: -100%;
  transition-property: left, top;
  transition-duration: 1.5s;
  transition-timing-function: linear;
  transition-delay: 0s;
}
.animate .animate-fade-lb::after {
  top: -100%;
}
.animate .animate-slide-b {
  opacity: 0;
  transform: translateY(30px);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-timing-function: ease-out;
  transition-delay: 0s;
}
.animate .animate-slide-t {
  opacity: 0;
  transform: translateY(-30px);
  transition-property: opacity, transform;
  transition-duration: 1s;
  transition-timing-function: ease-out;
  transition-delay: 0s;
}
.animate.show .animate-fade {
  opacity: 1;
}
.animate.show .animate-fade-l::after {
  left: 100%;
}
.animate.show .animate-fade-lb::after {
  top: 100%;
  left: 100%;
}
.animate.show .animate-slide-b,
.animate.show .animate-slide-t {
  opacity: 1;
  transform: translateX(0);
}
.animate .d01, .animate .d01::after {
  transition-delay: 0.1s;
}
.animate .d02, .animate .d02::after {
  transition-delay: 0.2s;
}
.animate .d03, .animate .d03::after {
  transition-delay: 0.3s;
}
.animate .d04, .animate .d04::after {
  transition-delay: 0.4s;
}
.animate .d05, .animate .d05::after {
  transition-delay: 0.5s;
}
.animate .d06, .animate .d06::after {
  transition-delay: 0.6s;
}
.animate .d07, .animate .d07::after {
  transition-delay: 0.7s;
}
.animate .d08, .animate .d08::after {
  transition-delay: 0.8s;
}
.animate .d09, .animate .d09::after {
  transition-delay: 0.9s;
}
.animate .d10, .animate .d10::after {
  transition-delay: 1s;
}
.animate .d11, .animate .d11::after {
  transition-delay: 1.1s;
}
.animate .d12, .animate .d12::after {
  transition-delay: 1.2s;
}
.animate .d13, .animate .d13::after {
  transition-delay: 1.3s;
}
.animate .d14, .animate .d14::after {
  transition-delay: 1.4s;
}
.animate .d15, .animate .d15::after {
  transition-delay: 1.5s;
}
.animate .d16, .animate .d16::after {
  transition-delay: 1.6s;
}
.animate .d17, .animate .d17::after {
  transition-delay: 1.7s;
}
.animate .d18, .animate .d18::after {
  transition-delay: 1.8s;
}
.animate .d19, .animate .d19::after {
  transition-delay: 1.9s;
}
.animate .d20, .animate .d20::after {
  transition-delay: 2s;
}
@media screen and (max-width: 767px) {
  .animate .d00-sp, .animate .d00-sp::after {
    transition-delay: 0s;
  }
  .animate .d01-sp, .animate .d01-sp::after {
    transition-delay: 0.1s;
  }
  .animate .d02-sp, .animate .d02-sp::after {
    transition-delay: 0.2s;
  }
  .animate .d03-sp, .animate .d03-sp::after {
    transition-delay: 0.3s;
  }
  .animate .d04-sp, .animate .d04-sp::after {
    transition-delay: 0.4s;
  }
  .animate .d05-sp, .animate .d05-sp::after {
    transition-delay: 0.5s;
  }
  .animate .d06-sp, .animate .d06-sp::after {
    transition-delay: 0.6s;
  }
  .animate .d07-sp, .animate .d07-sp::after {
    transition-delay: 0.7s;
  }
  .animate .d08-sp, .animate .d08-sp::after {
    transition-delay: 0.8s;
  }
  .animate .d09-sp, .animate .d09-sp::after {
    transition-delay: 0.9s;
  }
  .animate .d10-sp, .animate .d10-sp::after {
    transition-delay: 1s;
  }
  .animate .d11-sp, .animate .d11-sp::after {
    transition-delay: 1.1s;
  }
  .animate .d12-sp, .animate .d12-sp::after {
    transition-delay: 1.2s;
  }
  .animate .d13-sp, .animate .d13-sp::after {
    transition-delay: 1.3s;
  }
  .animate .d14-sp, .animate .d14-sp::after {
    transition-delay: 1.4s;
  }
  .animate .d15-sp, .animate .d15-sp::after {
    transition-delay: 1.5s;
  }
  .animate .d16-sp, .animate .d16-sp::after {
    transition-delay: 1.6s;
  }
  .animate .d17-sp, .animate .d17-sp::after {
    transition-delay: 1.7s;
  }
  .animate .d18-sp, .animate .d18-sp::after {
    transition-delay: 1.8s;
  }
  .animate .d19-sp, .animate .d19-sp::after {
    transition-delay: 1.9s;
  }
  .animate .d20-sp, .animate .d20-sp::after {
    transition-delay: 2s;
  }
}

.concept .animate-fade-l::after {
  background: linear-gradient(to right, transparent, #1E1E1E 50%);
}
.concept .animate-fade-lb::after {
  background: linear-gradient(to right bottom, transparent, #1E1E1E 50%);
}

.drink .animate-fade-l::after {
  background: linear-gradient(to right, transparent, #EBEBEB 50%);
}
.drink .animate-fade-lb::after {
  background: linear-gradient(to right bottom, transparent, #EBEBEB 50%);
}

.gallery .animate-fade-l::after {
  background: linear-gradient(to right, transparent, #fff 50%);
}
.gallery .animate-fade-lb::after {
  background: linear-gradient(to right bottom, transparent, #fff 50%);
}

.open_animation {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
}
.open_animation .bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.open_animation .bg::before, .open_animation .bg::after {
  content: "";
  display: block;
  width: 100%;
  height: calc(50% + 1px);
  background-color: #fff;
  position: absolute;
  left: 0;
  transition: transform 0.5s cubic-bezier(0, 0, 0.15, 1) 1.5s;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0, 0.15, 1) 1.5s;
}
.open_animation .bg::before {
  top: 0;
}
.open_animation .bg::after {
  bottom: 0;
}
.open_animation .logo {
  width: 600px;
  height: 116px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .open_animation .logo {
    width: 300px;
    height: 58px;
  }
}
.open_animation .logo .logo1,
.open_animation .logo .logo2 {
  display: block;
  width: 100%;
  height: 50%;
  overflow: hidden;
  position: absolute;
  left: 0;
}
.open_animation .logo .logo1::before,
.open_animation .logo .logo2::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transition: transform 0.5s cubic-bezier(0, 0, 0.15, 1) 0.8s;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0, 0.15, 1) 0.8s;
}
.open_animation .logo .logo1 {
  top: 0;
}
.open_animation .logo .logo1::before {
  background-image: url("../img/animation_logo1.svg");
  transform-style: preserve-3d;
}
.open_animation .logo .logo2 {
  bottom: 0;
}
.open_animation .logo .logo2::before {
  background-image: url("../img/animation_logo2.svg");
  transform-style: preserve-3d;
}
.open_animation.play .bg::before {
  transform: translateY(-100%);
}
.open_animation.play .bg::after {
  transform: translateY(100%);
}
.open_animation.play .logo .logo1::before {
  transform: translateY(100%);
}
.open_animation.play .logo .logo2::before {
  transform: translateY(-100%);
}
.open_animation.play .logo .logo3::before {
  height: 0;
}