@charset "UTF-8";
/**
* Table of Contntens:
*
* 1.0 - Reset
* 2.0 - Global Style
* 3.0 - Basic Structure
* 4.0 - Header
* 5.0 - Footer
* 6.0 - Page
*   6.1 - Shop & Goods
* -----------------------------------------------------------------------------
*/
/**
* 1.0 - リセット
* -----------------------------------------------------------------------------
*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
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;
  vertical-align: baseline;
  box-sizing: border-box; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

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;
  width: 100%; }

/*------LINKS------*/
a:link {
  text-decoration: none;
  color: inherit; }

a:visited {
  text-decoration: none;
  color: inherit; }

a:hover {
  text-decoration: none;
  color: inherit; }

a:active {
  text-decoration: none;
  color: inherit; }

button:focus {
  outline: 0; }

/**
* 2.0 - Global Style
* -----------------------------------------------------------------------------
*/
/****************************************
Break Point Settings
****************************************/
/* Flex box */
.flex {
  display: flex;
  justify-content: space-between; }

/* Visivility depends on the device */
@media screen and (min-width: 896px) {
  .pconly {
    display: block; } }
@media screen and (max-width: 897px) {
  .pconly {
    display: none !important; } }

@media screen and (min-width: 896px) {
  .tabonly {
    display: none; } }
@media screen and (max-width: 897px) {
  .tabonly {
    display: block !important; } }
@media screen and (max-width: 480px) {
  .tabonly {
    display: none !important; } }

@media screen and (max-width: 480px) {
  .pc-tab {
    display: none !important; } }

@media screen and (min-width: 896px) {
  .tab-sp {
    display: none; } }
@media screen and (max-width: 897px) {
  .tab-sp {
    display: block !important; } }

@media screen and (min-width: 896px) {
  .sponly {
    display: none !important; } }
@media screen and (max-width: 897px) {
  .sponly {
    display: none !important; } }
@media screen and (max-width: 480px) {
  .sponly {
    display: block !important; } }

/* Alignment */
.center {
  text-align: center; }

/* Typography */
html {
  font-size: 14px;
  font-feature-settings: 'pwid';
  letter-spacing: 0.05em;
  /* Font Size Settings （記述順注意） */ }
  @media screen and (max-width: 320px) {
    html {
      font-size: 14px; } }
  @media screen and (min-width: 321px) {
    html {
      font-size: calc(14px + ((1vw - 320px / 100) * 1.25)); } }
  @media screen and (min-width: 480px) {
    html {
      font-size: 16px; } }
  @media screen and (min-width: 897px) {
    html {
      font-size: calc(14px + ((1vw - 897px / 100) * 2.4)); } }
  @media screen and (min-width: 980px) {
    html {
      font-size: calc(16px + ((1vw - 980px / 100) * 0.666)); } }
  @media screen and (min-width: 1280px) {
    html {
      font-size: 18px; } }

html {
  overflow-x: hidden; }

body {
  color: #6e5b50;
  overflow-x: hidden;
  font-family: dnp-shuei-mgothic-std, sans-serif; }

.fot {
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: 700;
  font-style: normal; }

.reenie {
  font-family: reenie-beanie, sans-serif;
  font-style: normal;
  font-weight: 500; }

/* AOS */
html:not(.no-js) [data-aos=zoom-in] {
  -webkit-transform: scale(0.8);
  transform: scale(0.8); }

/**
* 3.0 - Basic Structure
* -----------------------------------------------------------------------------
*/
body {
  background-color: #f7f0e1; }

/**
* 4.0 - Header
* -----------------------------------------------------------------------------
*/
header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 2; }
  @media screen and (max-width: 480px) {
    header {
      position: absolute; } }
  @media screen and (max-width: 480px) {
    header .flex {
      display: block; } }

.header_l {
  position: absolute;
  flex-basis: 461px;
  max-width: 461px;
  height: 324px;
  background-image: url("../images/shop/bg_header_l.svg");
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 20px;
  padding-left: 30px;
  z-index: 1; }
  @media screen and (max-width: 897px) {
    .header_l {
      width: 287px;
      padding-left: 5.3vw;
      padding-top: 10px; } }
  .header_l .logo_home {
    width: 220px; }
    @media screen and (max-width: 897px) {
      .header_l .logo_home {
        width: 166px; } }
    @media screen and (max-width: 480px) {
      .header_l .logo_home {
        width: 137px; } }
  .header_l .logo {
    width: 215px; }
    @media screen and (max-width: 897px) {
      .header_l .logo {
        width: 163px; } }
    @media screen and (max-width: 480px) {
      .header_l .logo {
        width: 143px; } }
  .header_l .tree {
    width: 31px;
    position: absolute;
    bottom: 92px;
    left: 70px; }
    @media screen and (max-width: 897px) {
      .header_l .tree {
        bottom: 142px;
        width: 22px; } }
    @media screen and (max-width: 480px) {
      .header_l .tree {
        bottom: 175px;
        left: 34px; } }

.header_r {
  flex: 1;
  padding-top: 25px;
  padding-right: 40px; }
  @media screen and (max-width: 750px) {
    .header_r {
      display: none; } }

.nav_shop ul {
  justify-content: flex-end; }
  .nav_shop ul li {
    margin-left: 60px; }
    @media screen and (max-width: 897px) {
      .nav_shop ul li {
        margin-left: 4vw; } }
    .nav_shop ul li a {
      font-size: 0.77rem;
      text-align: center;
      display: block;
      width: 100%;
      height: 100%;
      color: #a35f4e;
      font-weight: 700;
      white-space: nowrap;
      position: relative;
      transition: .2s; }
      .nav_shop ul li a span {
        color: #29903c;
        font-size: 2.77rem;
        display: block;
        font-family: reenie-beanie, sans-serif;
        font-style: normal;
        font-weight: 500;
        margin-bottom: -6px;
        line-height: 1;
        background-repeat: no-repeat;
        background-size: contain;
        margin-left: auto;
        margin-right: auto;
        background-position: center center; }
      .nav_shop ul li a:after {
        content: "";
        width: 0;
        height: 2px;
        background-color: #29903c;
        position: absolute;
        bottom: -3px;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        transition: .2s; }
      .nav_shop ul li a:hover {
        color: #29903c; }
        .nav_shop ul li a:hover:after {
          width: 100%; }
  .nav_shop ul .li_takeout a span {
    width: 34px;
    height: 49px;
    background-image: url("../images/shop/icon_takeout.png"); }
  .nav_shop ul .li_contact a span {
    width: 34px;
    height: 49px;
    background-image: url("../images/shop/icon_mail.png"); }
  .nav_shop ul .li_access a span {
    width: 22px;
    height: 49px;
    background-image: url("../images/shop/icon_access.png"); }

/* Toggle Button */
.toggle {
  background-color: #29903c;
  position: fixed;
  z-index: 4;
  right: 15px;
  top: 15px;
  width: 39px;
  height: 39px;
  display: none; }
  @media screen and (max-width: 749px) {
    .toggle {
      display: block; } }

.toggle_line,
.toggle_line span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box; }

.toggle_line {
  position: fixed;
  width: 22px;
  height: 15px;
  right: 23px;
  top: 26px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  cursor: pointer; }
  .toggle_line span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff; }
    .toggle_line span:nth-of-type(1) {
      top: 0; }
    .toggle_line span:nth-of-type(2) {
      top: 7px; }
    .toggle_line span:nth-of-type(3) {
      bottom: 0; }
  .toggle_line.active span:nth-of-type(1) {
    transform: translateY(7px) rotate(-45deg); }
  .toggle_line.active span:nth-of-type(2) {
    left: 50%;
    opacity: 0;
    animation: active-menu-bar02 .8s forwards; }
  .toggle_line.active span:nth-of-type(3) {
    transform: translateY(-7px) rotate(45deg); }

/* Drawer */
.drawer_shop {
  background-color: #29903c;
  color: #fff;
  position: fixed;
  top: 0;
  right: -75%;
  width: 75%;
  z-index: 3;
  height: 100vh;
  padding: 100px 25px 25px 25px;
  transition: 0.5s;
  overflow: scroll;
  display: none; }
  @media screen and (max-width: 749px) {
    .drawer_shop {
      display: block; } }
  .drawer_shop .bnr {
    width: 100%;
    margin-top: 30px;
    margin-bottom: 30px; }
  .drawer_shop .logo {
    max-width: 212px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    display: block; }
  .drawer_shop .center a {
    font-size: 14px; }
    .drawer_shop .center a:before {
      content: "";
      width: 12px;
      height: 12px;
      background-size: contain;
      background-repeat: no-repeat;
      background-image: url("../images/shop/icon_home_drawer.svg");
      display: inline-block;
      vertical-align: middle;
      margin-right: 10px; }

html.open,
html.open {
  overflow: hidden; }
  html.open .drawer_shop,
  html.open .drawer_shop {
    right: 0; }

.nav_drawer_shop ul li {
  border-bottom: 1px solid #37ad4d; }
  .nav_drawer_shop ul li a {
    padding: 20px 0 20px 20px;
    display: block;
    width: 100%;
    height: 100%; }
    .nav_drawer_shop ul li a span {
      font-size: 2.55rem;
      display: inline-block;
      vertical-align: middle;
      margin-right: 20px;
      width: 50px;
      height: 36px;
      background-position: center center;
      background-size: contain;
      background-repeat: no-repeat; }
.nav_drawer_shop ul .li_cafe a span {
  background-image: url("../images/shop/icon_cafe_drawer.svg"); }
.nav_drawer_shop ul .li_goods a span {
  background-image: url("../images/shop/icon_goods_drawer.svg"); }
.nav_drawer_shop ul .li_takeout a span {
  background-image: url("../images/shop/icon_takeout_drawer.svg"); }
.nav_drawer_shop ul .li_contact a span {
  background-image: url("../images/shop/icon_mail_drawer.svg");
  height: 22px; }
.nav_drawer_shop ul .li_access a span {
  background-image: url("../images/shop/icon_access_drawer.svg");
  height: 29px; }
.nav_drawer_shop ul .li_home a span {
  height: 22px;
  background-image: url("../images/shop/icon_home.png"); }

/**
* 5.0 - Footer
* -----------------------------------------------------------------------------
*/
footer {
  margin-top: 130px; }
  @media screen and (max-width: 480px) {
    footer {
      margin-top: 50px; } }

.logo_footer {
  width: 210px;
  vertical-align: bottom; }

.logo_footer + a {
  display: inline-block;
  vertical-align: middle;
  padding: 2px 40px;
  color: #a35f4e;
  text-align: center;
  border: 1px solid #a35f4e;
  font-size: 0.77rem;
  margin-left: 15px; }

.copyright {
  background-color: #a35f4e;
  color: #fff;
  text-align: center;
  font-size: 0.66rem;
  padding-top: 30px;
  padding-bottom: 30px;
  margin-top: 50px; }

.page_restaurant footer .logo_footer {
  max-width: 415px;
  width: 100%;
  margin-bottom: 100px; }
  @media screen and (max-width: 480px) {
    .page_restaurant footer .logo_footer {
      max-width: 255px;
      margin-bottom: 50px; } }
.page_restaurant footer .copyright {
  background-color: #29903c; }
.page_restaurant footer .footer_link {
  max-width: 454px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px; }
  @media screen and (max-width: 480px) {
    .page_restaurant footer .footer_link {
      display: block; } }
  .page_restaurant footer .footer_link .logo {
    flex-basis: 53%;
    max-width: 53%; }
    @media screen and (max-width: 480px) {
      .page_restaurant footer .footer_link .logo {
        max-width: 100%;
        text-align: center; } }
    .page_restaurant footer .footer_link .logo img {
      height: 56px;
      width: auto; }
  .page_restaurant footer .footer_link .text {
    flex-basis: 47%;
    max-width: 47%;
    padding-left: 10px; }
    @media screen and (max-width: 480px) {
      .page_restaurant footer .footer_link .text {
        max-width: 100%;
        text-align: center;
        margin-bottom: 30px; } }
    .page_restaurant footer .footer_link .text a {
      border: 1px solid #595652;
      display: inline-block;
      width: 100%;
      text-align: center;
      font-size: 0.77rem;
      vertical-align: sub; }
      @media screen and (max-width: 480px) {
        .page_restaurant footer .footer_link .text a {
          width: auto;
          min-width: 198px;
          font-size: 0.8rem;
          padding-top: 3px;
          padding-bottom: 3px; } }

/**
* 6.0 - Page
* -----------------------------------------------------------------------------
*/
.anchor {
  position: relative;
  top: -200px; }
  @media screen and (max-width: 480px) {
    .anchor {
      top: -20px; } }

.border {
  text-align: center;
  margin: 150px 0 100px 0; }
  @media screen and (max-width: 897px) {
    .border {
      margin: 100px 0 40px 0; } }
  .border img {
    width: 122px; }
    @media screen and (max-width: 480px) {
      .border img {
        width: 76px; } }

.border3 {
  margin: 100px 0; }

.tree4 {
  width: 62px;
  position: absolute;
  top: 290px;
  right: 20px;
  z-index: 1; }

/**
* 6.1 - Shop & Goods
* -----------------------------------------------------------------------------
*/
.slider_area {
  overflow: hidden; }

.slider_wrap {
  width: 58.7vw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 120px;
  position: relative; }
  @media screen and (max-width: 897px) {
    .slider_wrap {
      width: 95vw;
      margin-top: 190px; } }
  @media screen and (max-width: 480px) {
    .slider_wrap {
      margin-top: 120px; } }
  .slider_wrap .catch {
    position: absolute;
    right: 6vw;
    top: 40px;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl; }
    @media screen and (max-width: 480px) {
      .slider_wrap .catch {
        top: -10px; } }
    .slider_wrap .catch span {
      background-color: #fff;
      display: inline-block;
      margin: 0 10px;
      padding-top: 10px;
      padding-bottom: 10px;
      font-weight: bold;
      letter-spacing: 0.2em; }
      @media screen and (max-width: 480px) {
        .slider_wrap .catch span {
          font-size: 10px;
          margin: 0 4px; } }
  .slider_wrap .tree {
    width: 110px;
    position: absolute;
    right: -200px;
    bottom: 20px;
    z-index: 1; }
  .slider_wrap .clip {
    width: 384px;
    position: absolute;
    left: -172px;
    bottom: -50px; }

.slider .slick-slide img {
  width: 100%; }
.slider .slick-dots li {
  margin-left: 0;
  margin-right: 0; }
  .slider .slick-dots li button:before {
    opacity: 1;
    color: #a35f4e; }
.slider .slick-dots li.slick-active button:before {
  color: #29903c; }

.shop_top {
  margin-top: 80px;
  position: relative;
  padding-bottom: 120px; }
  @media screen and (max-width: 897px) {
    .shop_top {
      padding-bottom: 60px; } }
  @media screen and (max-width: 480px) {
    .shop_top {
      margin-top: 40px;
      padding-bottom: 110px; } }
  .shop_top h2 {
    text-align: center;
    margin-bottom: 60px; }
    @media screen and (max-width: 897px) {
      .shop_top h2 {
        margin-bottom: 20px; } }
    .shop_top h2 img {
      width: 321px; }
      @media screen and (max-width: 480px) {
        .shop_top h2 img {
          max-width: 204px;
          width: 100%; } }
  .shop_top p {
    text-align: center;
    font-size: 0.88rem;
    font-weight: bold;
    margin-bottom: 30px;
    line-height: 2.5; }

.clip_shop_top1,
.clip_shop_top2 {
  position: absolute;
  top: 10vw;
  z-index: 1; }

.clip_shop_top1 {
  width: 24.22vw;
  left: 100px; }
  @media screen and (max-width: 897px) {
    .clip_shop_top1 {
      left: 0;
      top: 17vw; } }

.clip_shop_top2 {
  width: 24.22vw;
  right: 100px; }
  @media screen and (max-width: 897px) {
    .clip_shop_top2 {
      right: 0;
      top: 26vw; } }

.clip_shop_top3 {
  width: 100%;
  position: relative;
  z-index: 1; }

.tree3 {
  position: absolute;
  bottom: -40px;
  left: 330px;
  width: 134px;
  z-index: 1; }
  @media screen and (max-width: 897px) {
    .tree3 {
      left: 20px;
      bottom: 90px; } }
  @media screen and (max-width: 480px) {
    .tree3 {
      width: 103px;
      left: 150px;
      bottom: 60px; } }

.cloud1 {
  position: absolute;
  bottom: -2vw;
  left: -100px;
  width: 40vw; }
  @media screen and (max-width: 480px) {
    .cloud1 {
      width: 77%;
      left: -20px; } }

.cloud2 {
  position: absolute;
  top: -23vw;
  right: -100px;
  width: 26vw; }
  @media screen and (max-width: 480px) {
    .cloud2 {
      width: 50vw;
      right: 0;
      z-index: -1;
      top: -48vw; } }

.shop_nav {
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 480px) {
    .shop_nav .flex {
      display: block; } }
  .shop_nav .flex > div {
    flex-basis: 50%;
    max-width: 50%;
    padding-top: 80px;
    padding-bottom: 50px;
    position: relative;
    overflow: hidden;
    transition: 0.2s; }
    @media screen and (max-width: 897px) {
      .shop_nav .flex > div {
        padding-top: 30px;
        padding-bottom: 30px; } }
    @media screen and (max-width: 480px) {
      .shop_nav .flex > div {
        max-width: 100%; } }
    .shop_nav .flex > div .bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center center;
      transition: 0.2s; }
    .shop_nav .flex > div .shop_nav_inner {
      max-width: 378px;
      width: 90%;
      padding: 50px 20px 20px 20px;
      background-size: 100% 100%;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      color: #fff;
      display: block;
      z-index: 1;
      position: relative; }
      @media screen and (max-width: 897px) {
        .shop_nav .flex > div .shop_nav_inner {
          width: 70%;
          padding-top: 30px; } }
      .shop_nav .flex > div .shop_nav_inner .lg {
        font-size: 3.88rem;
        position: relative; }
        @media screen and (max-width: 897px) {
          .shop_nav .flex > div .shop_nav_inner .lg {
            font-size: 3.1rem; } }
        .shop_nav .flex > div .shop_nav_inner .lg:after {
          content: "";
          width: 70px;
          height: 3px;
          background-color: #fff;
          border-radius: 2px;
          position: absolute;
          bottom: -10px;
          left: 0;
          right: 0;
          margin-left: auto;
          margin-right: auto; }
      .shop_nav .flex > div .shop_nav_inner .title {
        font-size: 0.875rem;
        margin-top: 10px; }
        @media screen and (max-width: 897px) {
          .shop_nav .flex > div .shop_nav_inner .title {
            font-size: 0.77rem; } }
      .shop_nav .flex > div .shop_nav_inner span {
        display: block;
        width: 38px;
        height: 38px;
        border-radius: 19px;
        margin-left: auto;
        margin-right: auto;
        position: relative;
        background-color: rgba(255, 255, 255, 0.2); }
        .shop_nav .flex > div .shop_nav_inner span:after {
          content: "";
          width: 11px;
          height: 4px;
          background-image: url("../images/shop/arrow1.svg");
          background-size: contain;
          background-repeat: no-repeat;
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          left: 0;
          right: 0;
          margin-left: auto;
          margin-right: auto; }
    .shop_nav .flex > div:nth-child(2) .bg {
      background-image: url("../images/shop/bg_shop_nav1.jpg"); }
    .shop_nav .flex > div:nth-child(2) .shop_nav_inner {
      background-image: url("../images/shop/bg_shop_nav1_inner.png"); }
    .shop_nav .flex > div:nth-child(1) .bg {
      background-image: url("../images/shop/bg_shop_nav2.jpg"); }
    .shop_nav .flex > div:nth-child(1) .shop_nav_inner {
      background-image: url("../images/shop/bg_shop_nav2_inner.png"); }
  .shop_nav .flex > div.hover {
    opacity: 0.5; }
    .shop_nav .flex > div.hover .bg {
      transform: scale(1.05); }

.sec {
  overflow-x: hidden;
  padding-top: 40px; }
  .sec .inner {
    width: 80%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 897px) {
      .sec .inner {
        width: 100%;
        padding-left: 5.2vw;
        padding-right: 5.2vw; } }
    .sec .inner h2 {
      width: 29.5vw;
      max-width: 378px;
      color: #fff;
      font-size: 23px;
      background-size: 100% 100%;
      text-align: center;
      padding-top: 40px;
      padding-bottom: 40px;
      z-index: 1;
      position: relative;
      transform: translateX(7vw) translateY(10px); }
      @media screen and (max-width: 1280px) {
        .sec .inner h2 {
          font-size: 1.7vw; } }
      @media screen and (max-width: 897px) {
        .sec .inner h2 {
          width: 39.5vw; } }
      @media screen and (max-width: 480px) {
        .sec .inner h2 {
          position: static;
          width: 67.7vw;
          margin-left: auto;
          margin-right: auto;
          margin-bottom: 30px;
          transform: none; } }
      .sec .inner h2 .en {
        font-size: 101px;
        display: block; }
        @media screen and (max-width: 480px) {
          .sec .inner h2 .en {
            font-size: 3.5rem; } }
        @media screen and (max-width: 1280px) {
          .sec .inner h2 .en {
            font-size: 7.8vw; } }
  .sec .sec_title {
    position: relative;
    padding-left: 10vw;
    margin-top: -170px; }
    .sec .sec_title .sec_title_inner {
      background-size: 100% 100%;
      margin-left: auto;
      margin-right: auto;
      padding-top: 47.8%;
      width: 80%; }
      @media screen and (max-width: 480px) {
        .sec .sec_title .sec_title_inner {
          width: 100%;
          padding-top: 66%; } }
    @media screen and (max-width: 897px) {
      .sec .sec_title {
        margin-top: -135px; } }
    @media screen and (max-width: 480px) {
      .sec .sec_title {
        margin-top: 0;
        padding-left: 0; } }
    .sec .sec_title p {
      position: absolute;
      top: 6vw;
      right: 11vw;
      writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      color: #fff;
      line-height: 2.5; }
      @media screen and (max-width: 480px) {
        .sec .sec_title p {
          margin-left: auto;
          margin-right: auto;
          color: #a35f4e;
          margin-top: 40px;
          position: static; } }
      .sec .sec_title p span {
        position: relative;
        display: inline-block;
        font-size: 0.88rem; }
        @media screen and (max-width: 897px) {
          .sec .sec_title p span {
            font-size: 0.79rem; } }
        @media screen and (max-width: 480px) {
          .sec .sec_title p span {
            font-size: 1rem;
            font-weight: bold; } }
        .sec .sec_title p span:before {
          content: "";
          width: 10px;
          height: 100%;
          border-left: 1px dashed #fff;
          left: 0;
          top: 0;
          position: absolute; }
          @media screen and (max-width: 480px) {
            .sec .sec_title p span:before {
              border-left-color: #a35f4e; } }
  .sec .catch_sec {
    text-align: center;
    margin-top: 80px;
    font-weight: bold;
    line-height: 2.5;
    letter-spacing: 0.2em;
    font-size: 0.88rem; }
    @media screen and (max-width: 480px) {
      .sec .catch_sec {
        font-size: 1.14rem; } }

#cafe {
  padding-top: 40px; }
  #cafe h2 {
    background-image: url("../images/shop/bg_shop_nav1_inner.png"); }
  #cafe .sec_title_inner {
    position: relative; }
    #cafe .sec_title_inner .slider_cafe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%; }
      #cafe .sec_title_inner .slider_cafe .slick-slide:nth-child(1) .badge {
        background-color: #75B037; }
      #cafe .sec_title_inner .slider_cafe .slick-slide:nth-child(2) .badge {
        background-color: #ED8AB0; }
      #cafe .sec_title_inner .slider_cafe .slick-list {
        overflow: visible; }
      #cafe .sec_title_inner .slider_cafe .slick-dots {
        bottom: 35px; }
        #cafe .sec_title_inner .slider_cafe .slick-dots li button:before {
          font-size: 17px;
          color: #F7F0E1;
          opacity: 1; }
        #cafe .sec_title_inner .slider_cafe .slick-dots li.slick-active button:before {
          color: #75B037; }
      #cafe .sec_title_inner .slider_cafe img {
        width: 100%; }
  #cafe .clip_dish1 {
    width: 41.77vw;
    max-width: 752px;
    position: absolute;
    bottom: -27vw;
    right: -27vw; }
    @media screen and (max-width: 897px) {
      #cafe .clip_dish1 {
        right: -24vw;
        bottom: -32vw; } }
    @media screen and (max-width: 480px) {
      #cafe .clip_dish1 {
        width: 61vw;
        right: -29vw; } }
  #cafe .catch_sec {
    position: relative; }
    @media screen and (max-width: 480px) {
      #cafe .catch_sec {
        padding-bottom: 240px; } }
    #cafe .catch_sec .clip_dish2 {
      width: 41.77vw;
      max-width: 535px;
      position: absolute;
      bottom: -36vw;
      left: -20vw; }
      @media screen and (max-width: 897px) {
        #cafe .catch_sec .clip_dish2 {
          left: -25vw;
          bottom: -17vw; } }
      @media screen and (max-width: 480px) {
        #cafe .catch_sec .clip_dish2 {
          width: 68.2vw;
          bottom: -10vw; } }
  #cafe .badge {
    position: absolute;
    width: 182px;
    height: 182px;
    background-color: #fff;
    box-shadow: -20px 20px 20px rgba(0, 0, 0, 0.2);
    border-radius: 91px;
    text-align: center;
    font-size: 0.875rem;
    bottom: -30px;
    left: -100px;
    font-weight: bold;
    line-height: 1.4;
    color: #fff; }
    #cafe .badge .en {
      border-bottom: 1px solid #fff;
      padding-bottom: 10px;
      margin-bottom: 10px;
      display: block;
      width: calc(100% - 50px);
      margin-left: auto;
      margin-right: auto; }
    #cafe .badge .sm {
      font-size: 12px; }
    @media screen and (max-width: 480px) {
      #cafe .badge {
        width: 141px;
        height: 141px;
        bottom: 143px;
        left: -30px; } }
    #cafe .badge > span {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      right: 0;
      margin-left: auto;
      margin-right: auto; }
      @media screen and (max-width: 480px) {
        #cafe .badge > span {
          font-size: 10px; } }

.sec_foran {
  margin-top: 50px; }
  @media screen and (max-width: 897px) {
    .sec_foran {
      margin-bottom: 100px; } }
  .sec_foran .logo {
    width: 202px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    margin-bottom: 40px; }
  .sec_foran p {
    font-weight: bold;
    line-height: 2.5;
    letter-spacing: 0.2em;
    font-size: 0.88rem;
    max-width: 576px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px; }
    @media screen and (max-width: 897px) {
      .sec_foran p {
        font-size: 1rem; } }
    @media screen and (max-width: 480px) {
      .sec_foran p {
        max-width: 245px; } }
  .sec_foran .menu {
    padding-bottom: 100px; }
    @media screen and (max-width: 897px) {
      .sec_foran .menu {
        padding-bottom: 10px; } }
    .sec_foran .menu img {
      display: block;
      width: 54px;
      margin-left: auto;
      margin-right: auto; }
    .sec_foran .menu h4 {
      color: #595652;
      margin-bottom: 15px;
      font-size: 1.11rem;
      line-height: 1.4; }
      .sec_foran .menu h4:before {
        content: "";
        width: 14px;
        height: 14px;
        background-color: #75B037;
        border-radius: 7px;
        display: inline-block;
        vertical-align: middle;
        margin-right: 10px; }
      @media screen and (max-width: 897px) {
        .sec_foran .menu h4 {
          margin-bottom: 15px; } }
      @media screen and (max-width: 480px) {
        .sec_foran .menu h4 {
          font-size: 1.42rem; } }
    .sec_foran .menu .title {
      position: relative;
      padding-left: 40px;
      padding-bottom: 10px;
      margin-bottom: 45px; }
      .sec_foran .menu .title:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 12px;
        height: 100%;
        border-radius: 100px; }
      .sec_foran .menu .title .lg {
        font-size: 28px;
        margin-bottom: 10px;
        font-weight: 600; }
      .sec_foran .menu .title .data {
        font-size: 12px; }
        .sec_foran .menu .title .data span {
          font-size: 13px;
          display: inline-block;
          padding: 1px 10px;
          border-radius: 5px;
          margin-right: 14px; }
    .sec_foran .menu .ayase .title:before {
      background-color: #75B037; }
    .sec_foran .menu .ayase .title .data span {
      background-color: #E3EDD8;
      color: #75B037; }
    .sec_foran .menu .ayase .menu_box h4:before {
      background-color: #75B037; }
    .sec_foran .menu hr.line {
      background-image: url("../images/shop/line.jpg");
      height: 2px;
      width: 100%;
      background-repeat: repeat-x;
      background-size: contain;
      border: none;
      margin-top: 62px;
      margin-bottom: 62px; }
    .sec_foran .menu .hanahata .title:before {
      background-color: #ED8AB0; }
    .sec_foran .menu .hanahata .title .data span {
      background-color: #FAF0F3;
      color: #ED8AB0; }
    .sec_foran .menu .hanahata .menu_box h4:before {
      background-color: #ED8AB0; }
    .sec_foran .menu .menu_box:not(:last-of-type) {
      margin-bottom: 54px; }
    @media screen and (max-width: 897px) {
      .sec_foran .menu .menu_box {
        margin-bottom: 50px; } }
    @media screen and (max-width: 480px) {
      .sec_foran .menu .menu_box {
        display: block; } }
    .sec_foran .menu .menu_box .image {
      flex-basis: 36.3%;
      max-width: 36.3%; }
      @media screen and (max-width: 480px) {
        .sec_foran .menu .menu_box .image {
          max-width: 100%;
          margin-bottom: 20px; } }
      .sec_foran .menu .menu_box .image img {
        width: 100%; }
    .sec_foran .menu .menu_box .text {
      flex-basis: 59.5%;
      max-width: 59.5%; }
      @media screen and (max-width: 480px) {
        .sec_foran .menu .menu_box .text {
          max-width: 100%; } }
      .sec_foran .menu .menu_box .text p {
        margin-bottom: 0;
        letter-spacing: normal;
        line-height: 1.8;
        padding-left: 27px; }
        @media screen and (max-width: 480px) {
          .sec_foran .menu .menu_box .text p {
            max-width: 100%; } }
        .sec_foran .menu .menu_box .text p span {
          font-size: 0.77rem;
          font-weight: normal; }
          @media screen and (max-width: 897px) {
            .sec_foran .menu .menu_box .text p span {
              font-size: 0.875rem; } }

.sec_restaurant {
  border: 4px solid #fff; }

.menu,
.sec_freespace,
.sec_shopinfo,
.sec_contact {
  background-color: #fffdf7; }

.menu,
.sec_restaurant,
.sec_freespace,
.sec_shopinfo,
.sec_contact {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 45px;
  padding-bottom: 30px;
  border-radius: 20px;
  padding-left: 7.8%;
  padding-right: 7.8%; }
  .menu h3,
  .sec_restaurant h3,
  .sec_freespace h3,
  .sec_shopinfo h3,
  .sec_contact h3 {
    font-size: 1.94rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
    color: #29903c; }

.sec_restaurant .flex,
.sec_freespace .flex {
  margin-bottom: 30px;
  flex-direction: row-reverse; }
  @media screen and (max-width: 897px) {
    .sec_restaurant .flex,
    .sec_freespace .flex {
      display: block; } }
  .sec_restaurant .flex .image,
  .sec_freespace .flex .image {
    flex-basis: 36.3%;
    max-width: 36.3%; }
    @media screen and (max-width: 897px) {
      .sec_restaurant .flex .image,
      .sec_freespace .flex .image {
        max-width: 100%;
        margin-bottom: 10px; } }
    .sec_restaurant .flex .image img,
    .sec_freespace .flex .image img {
      width: 100%; }
  .sec_restaurant .flex .text,
  .sec_freespace .flex .text {
    flex-basis: 47%;
    max-width: 47%;
    font-size: 0.88rem;
    line-height: 2.2; }
    @media screen and (max-width: 897px) {
      .sec_restaurant .flex .text,
      .sec_freespace .flex .text {
        max-width: 100%;
        font-size: 1rem; } }
.sec_restaurant > img,
.sec_freespace > img {
  width: 100%; }

.sec_freespace h3 + p {
  font-size: 0.88rem;
  margin-bottom: 35px; }
.sec_freespace .box h4 {
  font-size: 1.22rem;
  color: #595652;
  padding-top: 10px;
  padding-bottom: 10px;
  position: relative;
  line-height: 1;
  padding-left: 30px;
  margin-bottom: 10px; }
  .sec_freespace .box h4:before {
    content: "";
    width: 12px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 100px; }
.sec_freespace .box .access {
  font-size: 0.77rem;
  color: #595652;
  line-height: 1;
  margin-bottom: 15px; }
  .sec_freespace .box .access span {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 5px;
    margin-right: 10px; }
.sec_freespace .box .show_detail {
  max-width: 370px;
  font-size: 0.77rem;
  border-radius: 10px;
  text-align: center;
  padding: 10px;
  transition: .2s;
  cursor: pointer;
  position: relative; }
  .sec_freespace .box .show_detail:hover {
    transform: translateY(3px);
    box-shadow: none; }
  .sec_freespace .box .show_detail.active {
    color: #fff; }
  .sec_freespace .box .show_detail:after {
    content: "";
    width: 22px;
    height: 22px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%); }
.sec_freespace .tb {
  display: none; }
.sec_freespace table {
  border: 1px solid #595652;
  margin-bottom: 20px; }
  .sec_freespace table tr:not(:last-child) {
    border-bottom: 1px solid #d6d5d4; }
  .sec_freespace table tr th {
    background-color: #f5ede3;
    letter-spacing: 0.3em;
    border-right: 1px solid #595652; }
    @media screen and (max-width: 480px) {
      .sec_freespace table tr th {
        border-right: none;
        border-bottom: 1px solid #d6d5d4; } }
  .sec_freespace table tr th, .sec_freespace table tr td {
    font-size: 0.77rem;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 40px;
    padding-right: 40px;
    color: #595652; }
    @media screen and (max-width: 480px) {
      .sec_freespace table tr th, .sec_freespace table tr td {
        display: block;
        text-align: center;
        padding-top: 10px;
        padding-bottom: 10px; } }
  .sec_freespace table tr td .tel {
    color: #29903c;
    font-size: 1.38rem; }
    .sec_freespace table tr td .tel span {
      font-size: 0.77rem;
      margin-left: 10px; }
    .sec_freespace table tr td .tel:before {
      content: "";
      display: inline-block;
      width: 16px;
      height: 20px;
      background-image: url(../images/shop/icon_tel.svg);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      margin-right: 10px;
      vertical-align: middle; }
.sec_freespace .free_ayase h4:before {
  background-color: #75B037; }
.sec_freespace .free_ayase .access span {
  background-color: #E3EDD8;
  color: #75B037; }
.sec_freespace .free_ayase .show_detail {
  background-color: #EAF5DF;
  box-shadow: 0 3px 0px rgba(117, 176, 55, 0.3);
  color: #75B037; }
  .sec_freespace .free_ayase .show_detail:after {
    background-image: url(../images/shop/icon_plus1.svg); }
  .sec_freespace .free_ayase .show_detail.active {
    background-color: #75B037; }
    .sec_freespace .free_ayase .show_detail.active:after {
      background-image: url(../images/shop/icon_minus1.svg); }
.sec_freespace .free_ayase table th {
  background-color: #EAF5DF; }
.sec_freespace .free_hanahata h4:before {
  background-color: #ED8AB0; }
.sec_freespace .free_hanahata .access span {
  background-color: #FCEAF0;
  color: #ED8AB0; }
.sec_freespace .free_hanahata .show_detail {
  background-color: #FCEAF0;
  box-shadow: 0 3px 0px rgba(237, 138, 176, 0.3);
  color: #ED8AB0; }
  .sec_freespace .free_hanahata .show_detail:after {
    background-image: url(../images/shop/icon_plus2.svg); }
  .sec_freespace .free_hanahata .show_detail.active {
    background-color: #ED8AB0; }
    .sec_freespace .free_hanahata .show_detail.active:after {
      background-image: url(../images/shop/icon_minus2.svg); }
.sec_freespace .free_hanahata table th {
  background-color: #FCEAF0; }

.sec_restaurant .to_restaurant {
  width: 100%;
  transition: 0.1s; }
  .sec_restaurant .to_restaurant:hover {
    opacity: 0.7; }

.sec_shopinfo h3 {
  margin-bottom: 30px; }
.sec_shopinfo h4 {
  font-size: 1.22rem;
  margin-bottom: 15px;
  padding-top: 17px;
  padding-bottom: 17px;
  position: relative;
  padding-left: 30px;
  line-height: 1; }
  .sec_shopinfo h4:before {
    content: "";
    width: 12px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 100px; }
  @media screen and (max-width: 480px) {
    .sec_shopinfo h4 {
      padding-top: 0px;
      padding-bottom: 0px;
      line-height: 1.4; } }
.sec_shopinfo .info_ayase {
  margin-bottom: 77px; }
  .sec_shopinfo .info_ayase h4:before {
    background-color: #75B037; }
  .sec_shopinfo .info_ayase .text {
    padding-top: 10px; }
    .sec_shopinfo .info_ayase .text table th span {
      background-color: #E3EDD8;
      color: #75B037; }
.sec_shopinfo .info_hanahata h4:before {
  background-color: #ED8AB0; }
.sec_shopinfo .info_hanahata .text {
  padding-top: 10px; }
  .sec_shopinfo .info_hanahata .text table th span {
    background-color: #FAF0F3;
    color: #ED8AB0; }
.sec_shopinfo .flex {
  margin-bottom: 20px;
  flex-direction: row-reverse; }
  @media screen and (max-width: 480px) {
    .sec_shopinfo .flex {
      display: block; } }
.sec_shopinfo .thum {
  flex-basis: 35.3%;
  max-width: 35.3%; }
  @media screen and (max-width: 897px) {
    .sec_shopinfo .thum {
      flex-basis: 38.3%;
      max-width: 38.3%; } }
  @media screen and (max-width: 480px) {
    .sec_shopinfo .thum {
      max-width: 100%; } }
  .sec_shopinfo .thum img {
    width: 100%; }
.sec_shopinfo .text {
  flex-basis: 51%;
  max-width: 51%; }
  @media screen and (max-width: 897px) {
    .sec_shopinfo .text {
      flex-basis: 60%;
      max-width: 60%; } }
  @media screen and (max-width: 480px) {
    .sec_shopinfo .text {
      max-width: 100%; } }
  .sec_shopinfo .text table tr th, .sec_shopinfo .text table tr td {
    font-size: 0.77rem;
    padding-top: 2px;
    padding-bottom: 2px; }
    @media screen and (max-width: 480px) {
      .sec_shopinfo .text table tr th, .sec_shopinfo .text table tr td {
        display: block;
        font-size: 13px; } }
  .sec_shopinfo .text table tr th {
    text-align: center;
    white-space: nowrap;
    padding-right: 15px; }
    .sec_shopinfo .text table tr th span {
      display: block;
      border-radius: 5px;
      font-size: 14px;
      text-align: center;
      padding: 4px 10px;
      line-height: 1; }
      @media screen and (max-width: 480px) {
        .sec_shopinfo .text table tr th span {
          width: 89px;
          font-size: 13px; } }
.sec_shopinfo .gmap {
  border-radius: 20px;
  overflow: hidden; }
  .sec_shopinfo .gmap iframe {
    width: 100%;
    vertical-align: bottom; }

.sec_cafe {
  margin-bottom: 70px; }

.gallery img {
  width: 100%; }
.gallery .wrap {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  -ms-grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
  -ms-grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 10px;
  -ms-grid-column-gap: 10px;
  grid-row-gap: 10px;
  -ms-grid-row-gap: 10px; }
  @media screen and (max-width: 480px) {
    .gallery .wrap {
      display: block; } }
  .gallery .wrap img {
    vertical-align: bottom; }
    @media screen and (max-width: 480px) {
      .gallery .wrap img {
        width: auto;
        height: 120px; } }
.gallery .box1 {
  grid-area: 1 / 1 / 2 / 2; }
.gallery .box2 {
  grid-area: 1 / 2 / 2 / 3; }
.gallery .box3 {
  grid-area: 1 / 3 / 2 / 4; }
.gallery .box4 {
  grid-area: 1 / 4 / 2 / 6; }
.gallery .box5 {
  grid-area: 2 / 1 / 3 / 2; }
.gallery .box6 {
  grid-area: 2 / 2 / 3 / 4; }
.gallery .box7 {
  grid-area: 2 / 4 / 3 / 5; }
.gallery .box8 {
  grid-area: 2 / 5 / 3 / 6; }

#goods h2 {
  background-image: url("../images/shop/bg_shop_nav2_inner.png"); }
#goods .sec_title_inner {
  background-image: url("../images/shop/bg_sec_title_goods.png"); }
#goods .catch_sec {
  position: relative; }
  @media screen and (max-width: 480px) {
    #goods .catch_sec {
      margin-top: 120px; } }

.clip_goods1,
.clip_goods2 {
  position: absolute; }

.clip_goods1 {
  width: 26.25vw;
  top: -7vw;
  left: -17vw;
  max-width: 336px; }
  @media screen and (max-width: 897px) {
    .clip_goods1 {
      left: -10vw;
      top: -13vw; } }
  @media screen and (max-width: 480px) {
    .clip_goods1 {
      width: 39.2vw;
      bottom: -42vw;
      top: unset; } }

.clip_goods2 {
  width: 31.48vw;
  top: -7vw;
  right: -17vw;
  max-width: 403px; }
  @media screen and (max-width: 897px) {
    .clip_goods2 {
      right: -10vw; } }
  @media screen and (max-width: 480px) {
    .clip_goods2 {
      width: 64.5vw;
      top: -49vw; } }

.lineup {
  margin-top: 70px;
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fffdf7;
  padding-top: 45px;
  padding-bottom: 30px;
  border-radius: 20px;
  padding-left: 10.6%;
  padding-right: 10.6%; }
  @media screen and (max-width: 480px) {
    .lineup {
      margin-top: 100px; } }
  .lineup h3 {
    font-size: 1.94rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
    color: #29903c; }
    .lineup h3:before {
      content: "";
      width: 53px;
      height: 70px;
      display: block;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 10px;
      background-image: url("../images/shop/icon_ainowa.svg");
      background-size: contain;
      background-repeat: no-repeat; }
  .lineup .new {
    text-align: center;
    margin-bottom: 40px;
    font-size: 1.25rem; }
    .lineup .new:before {
      content: "";
      width: 54px;
      height: 50px;
      display: block;
      margin-left: auto;
      margin-right: auto;
      background-image: url("../images/shop/img_new.svg");
      background-size: contain;
      background-repeat: no-repeat; }
  .lineup .flex {
    flex-wrap: wrap; }
    @media screen and (max-width: 480px) {
      .lineup .flex {
        display: block; } }
    .lineup .flex > div {
      flex-basis: 40.75%;
      max-width: 40.75%;
      margin-bottom: 40px; }
      @media screen and (max-width: 480px) {
        .lineup .flex > div {
          max-width: 100%; } }
      .lineup .flex > div .thum img {
        width: 100%; }
      .lineup .flex > div h4 {
        font-size: 1.15rem;
        color: #595652;
        margin-bottom: 5px; }
        @media screen and (max-width: 897px) {
          .lineup .flex > div h4 {
            font-size: 1.15rem; } }
        @media screen and (max-width: 480px) {
          .lineup .flex > div h4 {
            font-size: 1.42rem; } }
      .lineup .flex > div p {
        font-size: 0.8rem;
        color: #595652;
        margin-bottom: 5px;
        line-height: 1.8; }
        @media screen and (max-width: 480px) {
          .lineup .flex > div p {
            font-size: 1.07rem; } }
      .lineup .flex > div .produce {
        color: #29903c;
        font-size: 0.7rem; }
        .lineup .flex > div .produce a {
          text-decoration: underline; }

#takeout h3 {
  margin-bottom: 0px; }
  #takeout h3:before {
    width: 73px;
    height: 92px;
    background-image: url("../images/shop/icon_bag.svg"); }
  #takeout h3 + p {
    text-align: center;
    margin-top: -5px;
    margin-bottom: 50px; }
#takeout .flex > div {
  margin-bottom: 60px; }
#takeout .title {
  position: relative;
  padding-left: 40px;
  padding-bottom: 10px;
  margin-bottom: 35px;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.5; }
  #takeout .title:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 100%;
    border-radius: 100px; }
#takeout .ayase:before {
  background-color: #75B037; }
#takeout .hanahata:before {
  background-color: #ED8AB0; }

.lineup_bottom {
  background-color: #fff;
  margin-top: 46px;
  border-radius: 27px;
  text-align: center;
  font-size: 14px;
  color: #595652;
  padding: 50px 20px; }
  .lineup_bottom a {
    display: block;
    max-width: 358px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    border-radius: 10px;
    color: #fff;
    margin-top: 30px;
    font-size: 16px;
    line-height: 1.4;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #29903C;
    box-shadow: 0 3px 0 #D3E6D7; }
    .lineup_bottom a span {
      display: inline-block;
      text-align: left;
      padding-left: 40px;
      position: relative; }
      .lineup_bottom a span:before {
        content: "";
        width: 34px;
        height: 23px;
        background-image: url("../images/shop/icon_mail3.png");
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0; }
    .lineup_bottom a:hover {
      box-shadow: none;
      transform: translateY(3px); }

@media screen and (max-width: 480px) {
  .sec_contact {
    width: calc(100% - 10.4vw);
    margin-left: auto;
    margin-right: auto; } }
.sec_contact h2 {
  text-align: center;
  font-weight: bold;
  font-size: 1.27rem;
  color: #a35f4e;
  margin-bottom: 10px; }
  @media screen and (max-width: 480px) {
    .sec_contact h2 {
      font-size: 1.64rem; } }
  .sec_contact h2 .en {
    font-size: 5.6rem;
    color: #29903c;
    display: block;
    line-height: 1;
    margin-bottom: -25px; }
    @media screen and (max-width: 480px) {
      .sec_contact h2 .en {
        font-size: 3.59rem;
        margin-bottom: -10px; } }
.sec_contact p {
  color: #595652;
  font-size: 0.88rem;
  font-weight: bold; }
.sec_contact .flex {
  margin-top: 60px;
  margin-bottom: 20px; }
  @media screen and (max-width: 480px) {
    .sec_contact .flex {
      display: block; } }
  .sec_contact .flex > div {
    flex-basis: 48.6%;
    max-width: 48.6%;
    border: 1px solid #a35f4e;
    border-radius: 5px;
    padding: 10px;
    text-align: center;
    color: #29903c;
    font-weight: bold;
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec_contact .flex > div {
        max-width: 100%;
        margin-bottom: 20px; } }
    .sec_contact .flex > div:before {
      content: "";
      display: block;
      margin-left: auto;
      margin-right: auto;
      background-size: contain;
      background-repeat: no-repeat;
      margin-top: 10px;
      height: 47px; }
    .sec_contact .flex > div:first-child {
      font-size: 1.88rem; }
      .sec_contact .flex > div:first-child:before {
        content: "";
        width: 34px;
        background-image: url("../images/shop/icon_tel.png"); }
    .sec_contact .flex > div:nth-child(2) {
      font-size: 1.05rem;
      line-height: 1.4; }
      .sec_contact .flex > div:nth-child(2):before {
        content: "";
        width: 49px;
        background-image: url("../images/shop/icon_mail2.png"); }
    .sec_contact .flex > div a {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; }

/**
* 6.2 - Restaurant
* -----------------------------------------------------------------------------
*/
.page_restaurant .inner {
  max-width: 1094px;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto; }
@media screen and (max-width: 897px) {
  .page_restaurant header > .flex {
    display: block; } }
.page_restaurant .header_l {
  background-image: url("../images/restaurant/bg_header_l.svg"); }
  .page_restaurant .header_l .logo {
    margin-top: 10px; }
    @media screen and (max-width: 897px) {
      .page_restaurant .header_l .logo {
        width: 229px; } }
    @media screen and (max-width: 480px) {
      .page_restaurant .header_l .logo {
        width: 39.2vw; } }
  @media screen and (max-width: 897px) {
    .page_restaurant .header_l .logo_home {
      width: 212px;
      display: block; } }
  @media screen and (max-width: 480px) {
    .page_restaurant .header_l .logo_home {
      width: 37.7vw; } }
  @media screen and (max-width: 897px) {
    .page_restaurant .header_l {
      position: fixed;
      width: 470px;
      z-index: 1;
      top: 0;
      left: 0;
      padding-top: 30px; } }
  @media screen and (max-width: 480px) {
    .page_restaurant .header_l {
      width: 78.6vw;
      padding-top: 20px;
      position: absolute; } }
.page_restaurant .header_r {
  padding-top: 10px; }
  @media screen and (max-width: 897px) {
    .page_restaurant .header_r {
      position: fixed;
      z-index: 1;
      right: 0;
      top: 0; } }
  .page_restaurant .header_r .nav_shop_tab {
    margin-top: 30px;
    margin-bottom: 20px; }
.page_restaurant .mainvisual {
  position: relative; }
  .page_restaurant .mainvisual .inner {
    margin-top: 100px;
    position: relative; }
    @media screen and (max-width: 897px) {
      .page_restaurant .mainvisual .inner {
        margin-top: 180px; } }
    @media screen and (max-width: 480px) {
      .page_restaurant .mainvisual .inner {
        margin-top: 130px; } }
    .page_restaurant .mainvisual .inner img {
      width: 100%;
      vertical-align: bottom;
      border: 15px solid #fff; }
      @media screen and (max-width: 480px) {
        .page_restaurant .mainvisual .inner img {
          border-width: 5px; } }
    .page_restaurant .mainvisual .inner .tree {
      position: absolute;
      left: -100px;
      bottom: 10px;
      width: 31px;
      border: none; }
      @media screen and (max-width: 897px) {
        .page_restaurant .mainvisual .inner .tree {
          left: 70px;
          width: 24px;
          bottom: -70px; } }
      @media screen and (max-width: 480px) {
        .page_restaurant .mainvisual .inner .tree {
          bottom: -8px;
          left: 35px; } }
    .page_restaurant .mainvisual .inner .tree1 {
      width: 122px;
      position: absolute;
      right: -60px;
      bottom: -50px;
      border: none; }
      @media screen and (max-width: 897px) {
        .page_restaurant .mainvisual .inner .tree1 {
          width: 92px;
          right: 20px;
          bottom: -110px; } }
      @media screen and (max-width: 480px) {
        .page_restaurant .mainvisual .inner .tree1 {
          width: 40px;
          bottom: -40px; } }
  .page_restaurant .mainvisual .cloud1 {
    position: absolute;
    right: 0;
    bottom: -21vw;
    width: 24.2vw;
    left: auto;
    z-index: -1; }
    @media screen and (max-width: 897px) {
      .page_restaurant .mainvisual .cloud1 {
        bottom: -29vw; } }
    @media screen and (max-width: 480px) {
      .page_restaurant .mainvisual .cloud1 {
        width: 53.2vw;
        bottom: -57vw; } }
.page_restaurant .nav_shop ul li a .vat {
  display: block;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  font-family: inherit; }
.page_restaurant .about_top_wrap {
  position: relative;
  padding-bottom: 240px; }
  @media screen and (max-width: 897px) {
    .page_restaurant .about_top_wrap {
      margin-top: 100px;
      padding-bottom: 400px; } }
  @media screen and (max-width: 480px) {
    .page_restaurant .about_top_wrap {
      margin-top: 180px;
      padding-bottom: 320px; } }
  .page_restaurant .about_top_wrap .cloud2 {
    width: 428px;
    position: absolute;
    bottom: 0;
    left: 0;
    top: auto;
    right: auto; }
    @media screen and (max-width: 480px) {
      .page_restaurant .about_top_wrap .cloud2 {
        width: 76.5vw; } }
.page_restaurant .about_top {
  position: relative; }
  .page_restaurant .about_top h2 {
    text-align: center;
    width: 100%;
    max-width: 100%; }
    .page_restaurant .about_top h2 img {
      max-width: 296px;
      width: 296px;
      margin-left: auto;
      margin-right: auto;
      display: block; }
  .page_restaurant .about_top > .center {
    max-width: 482px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    font-weight: bold;
    line-height: 2.5;
    letter-spacing: 0.2em; }
    @media screen and (max-width: 480px) {
      .page_restaurant .about_top > .center {
        text-align: left;
        font-size: 1.14rem; } }
    .page_restaurant .about_top > .center .marker {
      background: linear-gradient(transparent 40%, #f0b607 40%); }
  .page_restaurant .about_top .clip_about1,
  .page_restaurant .about_top .clip_about2 {
    position: absolute;
    z-index: 1; }
  .page_restaurant .about_top .clip_about1 {
    max-width: 233px;
    width: 18.2vw;
    top: -6vw;
    left: -310px; }
    @media screen and (max-width: 897px) {
      .page_restaurant .about_top .clip_about1 {
        width: 30.3vw;
        left: -140px;
        top: 40vw; } }
    @media screen and (max-width: 480px) {
      .page_restaurant .about_top .clip_about1 {
        width: 46.9vw;
        top: auto;
        bottom: -41vw;
        left: -32px; } }
  .page_restaurant .about_top .clip_about2 {
    max-width: 278px;
    width: 21.7vw;
    bottom: -9vw;
    right: -340px; }
    @media screen and (max-width: 897px) {
      .page_restaurant .about_top .clip_about2 {
        right: -120px;
        width: 36.1vw;
        bottom: -39vw; } }
    @media screen and (max-width: 480px) {
      .page_restaurant .about_top .clip_about2 {
        width: 56.2vw;
        bottom: -62vw;
        right: -60px; } }
  .page_restaurant .about_top .tree2 {
    position: absolute;
    width: 134px;
    left: -270px;
    bottom: -15vw;
    z-index: 1; }
    @media screen and (max-width: 897px) {
      .page_restaurant .about_top .tree2 {
        left: -47px;
        bottom: -45vw; } }
    @media screen and (max-width: 480px) {
      .page_restaurant .about_top .tree2 {
        width: 103px;
        left: 43px;
        bottom: -85vw; } }
.page_restaurant .bg_image {
  width: 100%;
  background-attachment: fixed;
  height: 289px;
  background-position: center center;
  background-size: cover; }
  @media screen and (max-width: 897px) {
    .page_restaurant .bg_image {
      height: 244px; } }
  @media screen and (max-width: 480px) {
    .page_restaurant .bg_image {
      height: 180px; } }
.page_restaurant .bg_image1 {
  background-image: url("../images/restaurant/bg_image1.jpg"); }
.page_restaurant .bg_image2 {
  background-image: url("../images/restaurant/bg_image2.jpg"); }
.page_restaurant #photo {
  background-color: #f0b607;
  padding-top: 100px;
  padding-bottom: 100px; }
  .page_restaurant #photo h2 {
    text-align: center; }
    .page_restaurant #photo h2 img {
      max-width: 635px;
      width: 100%; }
      @media screen and (max-width: 897px) {
        .page_restaurant #photo h2 img {
          max-width: 514px; } }
      @media screen and (max-width: 480px) {
        .page_restaurant #photo h2 img {
          max-width: 296px;
          margin-left: auto;
          margin-right: auto; } }
  .page_restaurant #photo .flex {
    flex-wrap: wrap;
    margin-top: 40px; }
    .page_restaurant #photo .flex div {
      flex-basis: 24.3%;
      max-width: 24.3%;
      margin-bottom: 0.93%; }
      @media screen and (max-width: 897px) {
        .page_restaurant #photo .flex div {
          max-width: 32.6%;
          flex-basis: 32.6%;
          margin-bottom: 0.73%; } }
      @media screen and (max-width: 480px) {
        .page_restaurant #photo .flex div {
          max-width: 48.9%;
          flex-basis: 48.9%;
          margin-bottom: 2.2%; } }
      .page_restaurant #photo .flex div img {
        width: 100%;
        vertical-align: bottom; }
  .page_restaurant #photo .border {
    display: flex;
    justify-content: space-around;
    margin: 70px 0 20px 0; }
    .page_restaurant #photo .border div {
      padding: 0 2%; }
      .page_restaurant #photo .border div img {
        max-width: 100%;
        height: auto; }
      @media screen and (max-width: 480px) {
        .page_restaurant #photo .border div {
          padding: 0 4%; }
          .page_restaurant #photo .border div:nth-child(even) {
            display: none; } }
    @media screen and (max-width: 480px) {
      .page_restaurant #photo .border {
        margin: 40px 0; } }
  @media screen and (max-width: 480px) {
    .page_restaurant #photo .movie > div {
      flex-direction: column; } }
  .page_restaurant #photo .movie .flex {
    margin-top: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
  .page_restaurant #photo .movie h2 {
    display: block;
    color: #29903c;
    margin-top: 3rem; }
  .page_restaurant #photo .movie .youtube {
    margin: 0 1rem;
    -ms-flex-preferred-size: 40% !important;
    flex-basis: 40% !important;
    max-width: 40% !important; }
    @media screen and (max-width: 480px) {
      .page_restaurant #photo .movie .youtube {
        flex-basis: 100% !important;
        max-width: 100% !important; } }
    .page_restaurant #photo .movie .youtube iframe {
      width: 100% !important;
      height: auto !important;
      min-height: 280px; }
      @media screen and (max-width: 480px) {
        .page_restaurant #photo .movie .youtube iframe {
          min-height: 180px; } }
.page_restaurant #event .event_inner {
  background-color: #fff;
  border-radius: 20px;
  padding: 30px 7% 60px 7%;
  max-width: 1024px;
  width: 100%;
  margin-left: auto;
  margin-right: auto; }
  .page_restaurant #event .event_inner h2 {
    font-size: 1.94rem;
    color: #29903c;
    font-weight: bold;
    text-align: center;
    margin-bottom: 60px; }
  .page_restaurant #event .event_inner table {
    border: 1px solid #595652;
    margin-bottom: 20px; }
    .page_restaurant #event .event_inner table tr:not(:last-child) {
      border-bottom: 1px solid #d6d5d4; }
    .page_restaurant #event .event_inner table tr th {
      background-color: #f5ede3;
      letter-spacing: 0.3em;
      white-space: nowrap; }
    .page_restaurant #event .event_inner table tr th, .page_restaurant #event .event_inner table tr td {
      font-size: 0.88rem;
      padding-top: 20px;
      padding-bottom: 20px;
      padding-left: 40px;
      padding-right: 40px; }
      @media screen and (max-width: 480px) {
        .page_restaurant #event .event_inner table tr th, .page_restaurant #event .event_inner table tr td {
          display: block; } }
    .page_restaurant #event .event_inner table tr td a {
      color: #29903c; }
    .page_restaurant #event .event_inner table tr td .to_gmap {
      display: inline-block;
      padding: 3px 20px;
      border: 1px solid #29903c;
      border-radius: 100px;
      color: #29903c;
      line-height: 1; }
    .page_restaurant #event .event_inner table .tr_schedule a {
      text-decoration: underline; }
      .page_restaurant #event .event_inner table .tr_schedule a:hover {
        text-decoration: none; }
    .page_restaurant #event .event_inner table .tr_contact td {
      font-size: 1.38rem;
      color: #29903c; }
      .page_restaurant #event .event_inner table .tr_contact td span {
        font-size: 0.77rem; }
      .page_restaurant #event .event_inner table .tr_contact td .md {
        font-size: 0.88rem;
        font-weight: bold;
        margin-right: 10px; }
.page_restaurant #team {
  padding-top: 80px; }
  .page_restaurant #team h2 {
    font-size: 1.94rem;
    color: #29903c;
    font-weight: bold;
    text-align: center;
    margin-bottom: 60px;
    line-height: 1.5; }
  .page_restaurant #team .flex {
    flex-wrap: wrap; }
    @media screen and (max-width: 480px) {
      .page_restaurant #team .flex {
        display: block; } }
    .page_restaurant #team .flex > div {
      flex-basis: 32%;
      max-width: 32%;
      background-color: #fff;
      margin-bottom: 1.33%; }
      @media screen and (max-width: 897px) {
        .page_restaurant #team .flex > div {
          flex-basis: 48.4%;
          max-width: 48.4%;
          margin-bottom: 3.2%; } }
      @media screen and (max-width: 480px) {
        .page_restaurant #team .flex > div {
          max-width: 100%; } }
      .page_restaurant #team .flex > div.team {
        display: block;
        width: 100%;
        height: 100%;
        text-align: center;
        line-height: 1.5;
        padding: 1.5%;
        transition: .2s; }
        .page_restaurant #team .flex > div.team .subtitle {
          font-size: 0.77rem; }
        .page_restaurant #team .flex > div.team .title {
          font-size: 0.88rem;
          font-weight: bold; }
          .page_restaurant #team .flex > div.team .title .sm {
            font-weight: 400;
            margin-right: 10px; }
    .page_restaurant #team .flex .blank {
      visibility: hidden; }
.page_restaurant #contact {
  padding-bottom: 60px;
  padding-left: 5%;
  padding-right: 5%; }
  @media screen and (max-width: 897px) {
    .page_restaurant #contact {
      width: calc(100vw - 10vw);
      margin-left: auto;
      margin-right: auto; } }
  @media screen and (max-width: 897px) {
    .page_restaurant #contact .flex {
      display: block; } }
  .page_restaurant #contact .flex > div {
    color: #29903c;
    line-height: 1.5;
    font-size: 1.88rem; }
    @media screen and (max-width: 897px) {
      .page_restaurant #contact .flex > div {
        width: 100%;
        max-width: 417px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px; } }
    .page_restaurant #contact .flex > div .sm {
      font-size: 0.88rem; }
    .page_restaurant #contact .flex > div .sub {
      font-size: 0.77rem;
      display: block;
      color: #595652;
      margin-bottom: 10px; }
    .page_restaurant #contact .flex > div:nth-child(2):before {
      background-image: url("../images/restaurant/icon_fax.png"); }
  .page_restaurant #contact .to_form {
    display: block;
    color: #29903c;
    font-weight: bold;
    text-align: center;
    border: 1px solid #ede1df;
    border-radius: 5px;
    padding: 20px; }
    @media screen and (max-width: 897px) {
      .page_restaurant #contact .to_form {
        width: 100%;
        max-width: 417px;
        margin-left: auto;
        margin-right: auto; } }
    @media screen and (max-width: 480px) {
      .page_restaurant #contact .to_form {
        font-size: 1.35rem;
        line-height: 1.4; } }
    .page_restaurant #contact .to_form span:before {
      content: "";
      width: 49px;
      height: 32px;
      background-image: url("../images/shop/icon_mail2.png");
      background-size: contain;
      background-repeat: no-repeat;
      display: inline-block;
      vertical-align: middle;
      margin-right: 10px; }
      @media screen and (max-width: 480px) {
        .page_restaurant #contact .to_form span:before {
          display: block;
          margin-left: auto;
          margin-right: auto;
          margin-bottom: 10px; } }

.restaurant_top {
  padding-top: 65px; }
  @media screen and (max-width: 480px) {
    .restaurant_top {
      padding-top: 45px; } }
  .restaurant_top .inner {
    position: relative; }
    .restaurant_top .inner .clip_restaurant_top1,
    .restaurant_top .inner .clip_restaurant_top2 {
      position: absolute; }
    .restaurant_top .inner .clip_restaurant_top1 {
      width: 16.4vw;
      max-width: 211px;
      bottom: -7vw;
      left: 0; }
      @media screen and (max-width: 897px) {
        .restaurant_top .inner .clip_restaurant_top1 {
          width: 25vw;
          bottom: -17vw;
          left: 20px; } }
      @media screen and (max-width: 480px) {
        .restaurant_top .inner .clip_restaurant_top1 {
          width: 40.5vw;
          left: -20px;
          bottom: -45vw; } }
    .restaurant_top .inner .clip_restaurant_top2 {
      width: 27.5vw;
      max-width: 352px;
      bottom: -15vw;
      right: -50px; }
      @media screen and (max-width: 897px) {
        .restaurant_top .inner .clip_restaurant_top2 {
          width: 32.5vw;
          bottom: -29vw; } }
      @media screen and (max-width: 480px) {
        .restaurant_top .inner .clip_restaurant_top2 {
          width: 52.5vw;
          bottom: -54vw;
          right: -20px; } }
  .restaurant_top .catch img {
    width: 284px;
    margin-left: auto;
    margin-right: auto;
    display: block; }
    @media screen and (max-width: 480px) {
      .restaurant_top .catch img {
        width: 247px; } }

.about_contents {
  max-width: 867px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 180px; }
  @media screen and (max-width: 897px) {
    .about_contents {
      width: 66.6%;
      max-width: 100%;
      margin-bottom: 80px; } }
  @media screen and (max-width: 480px) {
    .about_contents {
      width: 100%; } }
  .about_contents .about_contents_head {
    position: relative;
    padding-left: 41%; }
    @media screen and (max-width: 897px) {
      .about_contents .about_contents_head {
        padding-left: 0;
        text-align: center; } }
    .about_contents .about_contents_head .catch {
      background-size: 100% 100%;
      padding: 60px 30px;
      background-repeat: no-repeat;
      position: absolute;
      top: -40px;
      left: 0px;
      color: #fff;
      font-size: 116%;
      text-align: center;
      font-weight: bold;
      max-width: 441px; }
      @media screen and (max-width: 897px) {
        .about_contents .about_contents_head .catch {
          position: static;
          margin-left: auto;
          margin-right: auto;
          margin-bottom: 30px;
          font-size: 1.3rem; } }
      @media screen and (max-width: 480px) {
        .about_contents .about_contents_head .catch {
          font-size: 1rem; } }
    .about_contents .about_contents_head .image img {
      width: 100%; }
  .about_contents .about_contents_bottom {
    margin-top: 40px; }
    .about_contents .about_contents_bottom .flex {
      flex-direction: row-reverse; }
      @media screen and (max-width: 897px) {
        .about_contents .about_contents_bottom .flex {
          display: block; } }
      .about_contents .about_contents_bottom .flex .thum {
        flex-basis: 36.1%;
        max-width: 36.1%; }
        @media screen and (max-width: 897px) {
          .about_contents .about_contents_bottom .flex .thum {
            margin-right: 0;
            margin-left: auto;
            max-width: 61.1%;
            margin-top: 40px; } }
        @media screen and (max-width: 480px) {
          .about_contents .about_contents_bottom .flex .thum {
            max-width: 100%; } }
        .about_contents .about_contents_bottom .flex .thum img {
          width: 100%; }
      .about_contents .about_contents_bottom .flex .text {
        flex-basis: 59%;
        max-width: 59%;
        font-size: 0.88rem;
        font-weight: bold; }
        @media screen and (max-width: 897px) {
          .about_contents .about_contents_bottom .flex .text {
            max-width: 100%;
            line-height: 2.2;
            font-size: 1rem; } }

.about_contents1 .about_contents_head .catch {
  background-image: url("../images/restaurant/bg_about_contents_catch1.png"); }

.about_contents2 .about_contents_head .catch {
  background-image: url("../images/restaurant/bg_about_contents_catch2.png"); }

/*# sourceMappingURL=style-shop.css.map */
