@charset "UTF-8";
/* CSS Document */
/* CSS Document */
html {
  font: 10px/1.5 "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  /* 基本文字設定 */
  *font-size: small;
  /* Win IE7およびWin IE6標準準拠モード向け */
  *font: x-small;
  /* Win IE 5-5.5､6(後方互換モード)向け */
  letter-spacing: 0;
  background-color: #fff;
  color: #878787;
  font-weight: normal; }

* {
  outline: none; }

a {
  color: #000;
  outline: none;
  text-decoration: none;
  transition: all 300ms ease-in-out; }
  a:after {
    text-decoration: none; }
  a:hover, a:focus {
    color: #000;
    opacity: 0.8; }
    a:hover img, a:focus img {
      opacity: 0.8; }
  a:focus-visible {
    outline: dotted 1px #000;
    outline-offset: -2px;
    color: #878787;
    box-shadow: 0 0 0 2px #878787; }
  a img {
    background: url(../image/share/transparent.png);
    transition: opacity 300ms ease-in-out; }
  .main-wpcontent a {
    color: #000;
    text-decoration: underline; }

button:focus-visible {
  outline: dotted 1px #000;
  outline-offset: 2px;
  color: #878787;
  box-shadow: 0 0 0 2px #878787; }

textarea:focus,
input:focus {
  box-shadow: 0 0 3px 1px inset #878787; }

#mainScroll {
  position: relative;
  margin: 0 auto;
  padding: 0;
  z-index: 300;
  overflow-x: hidden;
  overflow-y: visible; }

#header {
  position: sticky;
  width: 100%;
  height: 80px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  z-index: 400;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0.106vw 0.106vw 0 rgba(204, 204, 204, 0.25);
  top: 0; }
  @media screen and (max-width: 600px) {
    #header {
      height: 21.333vw;
      box-shadow: 0 4px 4px 0 rgba(204, 204, 204, 0.25); } }
  #header__inner {
    position: relative;
    width: 1000px;
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    margin: 0 auto;
    box-sizing: border-box; }
    @media screen and (max-width: 1080px) {
      #header__inner {
        width: auto;
        padding: 0 40px;
        justify-content: center;
        gap: 30px; } }
    @media screen and (max-width: 600px) {
      #header__inner {
        height: 21.333vw; } }

#header-identity {
  flex: 0 0 275px;
  line-height: 1; }
  @media screen and (max-width: 600px) {
    #header-identity {
      flex: 0 0 73.333vw; } }
  #header-identity img {
    width: 100%;
    height: auto; }

#header-info {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  align-content: center; }
  @media screen and (max-width: 800px) {
    #header-info {
      display: none; } }
  #header-info .header-info--tel a, #header-info .header-info--tel span {
    color: #878787;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    padding: 0 15px 0 0;
    border-right: 1px solid #878787; }
    #header-info .header-info--tel a::before, #header-info .header-info--tel span::before {
      content: "";
      display: inline-block;
      width: 24px;
      height: 24px;
      background: url("../image/share/icon-phone.svg") no-repeat center;
      background-size: contain;
      margin: 0 5px 0 0;
      vertical-align: text-bottom; }
  #header-info .header-info--time dl {
    display: flex;
    margin: 0 0 0 15px;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.5; }
    #header-info .header-info--time dl dt {
      font-weight: normal; }
    #header-info .header-info--time dl dd {
      margin: 0 0 0 3px; }
  #header-info .header-info--sns a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    background-color: #EAF7EC;
    border-radius: 50px; }
    #header-info .header-info--sns a img {
      width: 30px;
      height: 30px; }

#bottom-area {
  display: none; }
  @media screen and (max-width: 800px) {
    #bottom-area {
      display: block;
      margin: 0 auto;
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 60px;
      z-index: 2000;
      background-color: #198040; } }
  @media screen and (max-width: 800px) and (max-width: 600px) {
    #bottom-area {
      height: 16vw; } }

  #bottom-area__inner {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    width: 100%;
    height: 60px;
    margin: 0 auto; }
    @media screen and (max-width: 600px) {
      #bottom-area__inner {
        height: 16vw;
        justify-content: flex-end; } }
    #bottom-area__inner .bottom-area--tel a, #bottom-area__inner .bottom-area--tel span {
      color: #fff;
      font-size: 18px;
      font-weight: 500;
      line-height: 1.333;
      letter-spacing: 0;
      padding: 0 15px 0 0;
      border-right: 1px solid #fff; }
      @media screen and (max-width: 600px) {
        #bottom-area__inner .bottom-area--tel a, #bottom-area__inner .bottom-area--tel span {
          font-size: 4.8vw;
          padding-right: 3.373vw; } }
      #bottom-area__inner .bottom-area--tel a::before, #bottom-area__inner .bottom-area--tel span::before {
        content: "";
        display: inline-block;
        width: 24px;
        height: 24px;
        background: url("../image/share/icon-phone.svg") no-repeat center;
        background-size: contain;
        margin: 0 5px 0 0;
        vertical-align: text-bottom;
        filter: brightness(0) invert(1); }
        @media screen and (max-width: 600px) {
          #bottom-area__inner .bottom-area--tel a::before, #bottom-area__inner .bottom-area--tel span::before {
            width: 6.4vw;
            height: 6.4vw;
            margin-right: 1.333vw; } }
    #bottom-area__inner .bottom-area--time dl {
      display: flex;
      margin: 0 15px 0 15px;
      font-size: 12px;
      font-weight: normal;
      line-height: 1.333;
      color: #fff; }
      @media screen and (max-width: 600px) {
        #bottom-area__inner .bottom-area--time dl {
          margin: 3.373vw 2.667vw 3.373vw 4vw;
          font-size: 3.2vw; } }
      #bottom-area__inner .bottom-area--time dl dt {
        font-weight: normal; }
      #bottom-area__inner .bottom-area--time dl dd {
        margin: 0 0 0 3px; }
        @media screen and (max-width: 600px) {
          #bottom-area__inner .bottom-area--time dl dd {
            margin-left: 0.8vw; } }
        @media screen and (max-width: 600px) {
          #bottom-area__inner .bottom-area--time dl dd span {
            display: block; } }
    #bottom-area__inner .bottom-area--sns a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 60px;
      height: 60px;
      background-color: #EAF7EC; }
      @media screen and (max-width: 600px) {
        #bottom-area__inner .bottom-area--sns a {
          width: 16vw;
          height: 16vw; } }
      #bottom-area__inner .bottom-area--sns a img {
        width: 30px;
        height: 30px; }
        @media screen and (max-width: 600px) {
          #bottom-area__inner .bottom-area--sns a img {
            width: 8vw;
            height: 8vw; } }

/*
#menu-button--close,
#menu-button {
  display: none;
//  position: fixed;
//  right: 20px;
//  top: 31px;
//  display: none;
  position: relative;
  width: $btn-width-pc;
  height: $btn-height-pc;
  background-color: $btn-color;
  //padding: $btn-padding-top-pc 0 0;
  //margin: 0 $btn-margin-right-pc 0 0;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  //z-index: 19000;
  border-radius: 0;
  @include hover-transition(300ms,all);
  font-size: 12px;
  line-height: 1;
  color: $line-color;
  font-weight: $fw_bold;
  &:hover {
    cursor: pointer;
  }
  @include mq('lg') {
    display: block;
  }
  @include mq('sm') {
    position: absolute;
    top: 50%;
    right: $btn-margin-right-sp;
    @include translate(0,-50%);
      
    width: $btn-width-sp;
    height: $btn-height-sp;
    //padding-top: $btn-padding-top-sp;
    //margin: 0 $btn-margin-right-sp 0 0;
    font-size: 3.2vw;
    //border-radius: 2.667vw;
  }
  .menu {
    &--line {
      position: absolute;
      display: block;
      width: $btn-line-width-pc;
      height: $line-scale;
      background-color: $line-color;
      left: 50%;
      //top: $btn-line-height-pc / 2 + $btn-line-top-pc;
      top: $btn-height-pc / 2 + $btn-line-top-pc;
      border-radius: 99999px;
      @include transform-origin(50%,50%);
      @include hover-transition(300ms,all);
      @include translate(-50%,0);
      @include mq('sm') {
        //top: $btn-line-height-sp / 2 + $btn-line-top-sp;
        top: $btn-height-sp / 2 + $btn-line-top-sp;
        width: $btn-line-width-sp;
      }
    }
    &--line--top {
      //top: $btn-line-height-pc / 2 + $btn-line-top-pc;
      @include translate(-50%,- $btn-line-height-pc / 2);
      @include mq('sm') {
        //top: $btn-line-height-sp / 2 + $btn-line-top-sp;
        @include translate(-50%,- $btn-line-height-sp / 2);
      }
    }
    &--line--bottom {
      //top: $btn-line-height-pc / 2 + $btn-line-top-pc;
      @include translate(-50%,$btn-line-height-pc / 2);
      @include mq('sm') {
        //top: $btn-line-height-sp / 2 + $btn-line-top-sp;
        @include translate(-50%,$btn-line-height-sp / 2);
      }
    }
  }
  &.active {
    .menu {
      &--line--top {
        @include transform(translate(-50%,0) rotate($line-rad));
      }
      &--line--middle {
        opacity: 0;
      }
      &--line--bottom {
        @include transform(translate(-50%,0) rotate(- $line-rad));
      }
    }
  }
}

#global-area {
  margin: 0;
  padding: 0;
  @include mq('lg') {
    display: none;
  }
  &__inner {
    margin: 0;
    padding: 0;
    nav {
    }
  }
}
#nav-global {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 0 30px;
  > li {
    flex: 0 0 auto;
    position: relative;
    font-size: 14px;
    font-weight: $fw_bold;
    text-align: center;
    line-height: 1;
    margin: 0;
    padding: 0;
    a {
      display: block;
      color: $c_black;
      .nav-global {
        &--jp {
          display: block;
        }
        &--en {
          display: block;
          font-size: 12px;
          font-weight: $fw_bold;
          line-height: 1;
          color: $c_secondary;
          margin: 8px 0 0;
          padding: 0;
        }
      }
    }
    &.nav-global {
      &--contact {
        a {
          display: flex;
          justify-content: center;
          align-items: center;
          align-content: center;
          background-color: #f44661;
          border-radius: 999999px;
          height: 60px;
          width: 180px;
          color: $c_white;
          &::after {
            display: inline-block;
            content: "";
            background: url("../image/shortmovie001/icon-inquiry-mail.svg") center center no-repeat;
            width: 28px;
            height: 21px;
            margin: 0 0 0 9px;
          }
        }
      }
    }
  }
}
#global-area-sp {
  display: none;
  @include mq('lg') {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    z-index: 600;
    box-sizing: border-box;
    @include hover-transition(300ms,all);
    overflow: hidden;
    text-align: center;
    overflow-y: scroll;
    overflow-x: hidden;
    @include mq('sm') {}
    &::-webkit-scrollbar {
      width: 4px;
    }
    &::-webkit-scrollbar-track {
      background: $c_white;
      border-radius: 2px;
    }
    &::-webkit-scrollbar-thumb {
      background: $c_black;
      border-radius: 2px;
    }
  }
  &.active {
    height: 100vh;
    //width: 100%;
  }
  &__inner {
    position: relative;
    padding: 0;
    min-height: 100%;
    box-sizing: border-box;
    background-color: $c_black;
    @include mq('sm') {}
    nav {}
  }
}
#identity-area-sp {
  position: relative;
  width: auto;
  height: 100px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 0 0 0 $padding_pc;
  background-color: $c_white;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  @include mq('sm') {
    height: 18.133vw;
    padding: 0 0 0 $padding_sp;
    box-shadow: 0px 0.8vw 1.6vw rgba(0, 0, 0, 0.16);
  }
  img {
    flex: 0 0 220px;
    width: 220px;
    line-height: 1;
    height: auto;
    @include mq('sm') {
      flex: 0 0 46.667vw;
      width: 46.667vw;
    }
  }
}
#nav-global-sp {
  width: auto;
  margin: 60px auto 0;
  padding: 0 $padding_pc;
  max-width: 600px;
  @include mq('sm') {
    margin-top: 9.867vw;
    max-width: inherit;
    padding: 0 $padding_sp;
  }
  > li {
    border-bottom: 2px solid $c_gray;
    font-size: 17px;
    font-weight: $fw_bold;
    text-align: center;
    line-height: 1;
    margin: 0;
    padding: 0;
    @include mq('sm') {
      font-size: 3.733vw;
      border-bottom-width: 1px;
    }
    &:first-child {
      border-top: 2px solid $c_gray;
      @include mq('sm') {
        border-top-width: 1px;
      }
    }
    a {
      display: block;
      color: $c_black;
      margin: 0;
      padding: 20px 0;
      
      @include mq('sm') {
        padding: 4vw 0;
      }
      &:hover {
        //background-color: $c_white;
      }
      .nav-global {
        &--jp {
          display: block;
          @include mq('sm') {
            font-size: 3.733vw;
          }
        }
        &--en {
          display: block;
          margin: 10px 0 0;
          font-size: 14px;
          color: $c_secondary;
          @include mq('sm') {
            margin-top: 2.667vw;
            font-size: 3.2vw;
          }
        }
      }
    }
    &.nav-global-sp {
      &--contact {
        border-bottom: none;
        margin: 30px 0 0;
        @include mq('sm') {
          margin-top: 8vw;
        }
        a {
          display: flex;
          justify-content: center;
          align-items: center;
          align-content: center;
          background-color: $c_black;
          font-size: 14px;
          color: $c_white;
          padding: 18px 0;
          @include mq('sm') {
            font-size: 3.733vw;
            padding: 4.8vw 0;
          }
          &::after {
            display: inline-block;
            content: "";
            background: url("../image/shortmovie001/icon-inquiry-mail.svg") center center no-repeat;
            width: 28px;
            height: 21px;
            margin: 0 0 0 9px;
            @include mq('sm') {
              width: 8.267vw;
              height: 6.133vw;
              margin-left: 2.4vw;
              background-size: contain;
            }
          }
        }
      }
    }
  }
}
*/
#contents-area__inner {
  box-sizing: border-box; }

main {
  position: relative; }
  main section {
    position: relative;
    z-index: 150; }

#top-main {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  background: url("../image/top/bg-main-pc.svg") center center no-repeat;
  height: 600px; }
  @media screen and (max-width: 1080px) {
    #top-main {
      height: auto;
      background-size: cover; } }
  @media screen and (max-width: 600px) {
    #top-main {
      background: url("../image/top/bg-main-sp.svg") center center no-repeat;
      background-size: cover; } }
  #top-main__inner {
    width: 1000px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    box-sizing: border-box; }
    @media screen and (max-width: 1080px) {
      #top-main__inner {
        width: auto;
        margin: 0; } }
    #top-main__inner img {
      width: 100%;
      height: auto; }

#top-about__inner .about-title, #top-menu__inner .menu-title, #top-information__inner .information-title, #top-history__inner .history-title {
  margin: 0 0 60px;
  text-align: center;
  display: flex;
  flex-direction: column; }
  @media screen and (max-width: 600px) {
    #top-about__inner .about-title, #top-menu__inner .menu-title, #top-information__inner .information-title, #top-history__inner .history-title {
      margin-bottom: 8vw; } }

#top-about__inner .about-title--jp, #top-menu__inner .menu-title--jp, #top-information__inner .information-title--jp, #top-history__inner .history-title--jp {
  font-size: 50px;
  font-weight: 300;
  color: #878787;
  line-height: 1.5; }
  @media screen and (max-width: 600px) {
    #top-about__inner .about-title--jp, #top-menu__inner .menu-title--jp, #top-information__inner .information-title--jp, #top-history__inner .history-title--jp {
      font-size: 8.533vw; } }

#top-about__inner .about-title--en, #top-menu__inner .menu-title--en, #top-information__inner .information-title--en, #top-history__inner .history-title--en {
  position: relative;
  order: -1;
  font-size: 18px;
  font-weight: 500;
  color: #198040;
  line-height: 1.5;
  margin: 0 auto 10px; }
  @media screen and (max-width: 600px) {
    #top-about__inner .about-title--en, #top-menu__inner .menu-title--en, #top-information__inner .information-title--en, #top-history__inner .history-title--en {
      font-size: 3.733vw;
      margin-bottom: 2.667vw; } }
  #top-about__inner .about-title--en::before, #top-menu__inner .menu-title--en::before, #top-information__inner .information-title--en::before, #top-history__inner .history-title--en::before {
    content: "";
    position: absolute;
    top: -29px;
    left: 50%;
    transform: translateX(-50%);
    background: url("../image/share/icon-leaf.svg") no-repeat center;
    background-size: cover;
    width: 24px;
    height: 24px; }
    @media screen and (max-width: 600px) {
      #top-about__inner .about-title--en::before, #top-menu__inner .menu-title--en::before, #top-information__inner .information-title--en::before, #top-history__inner .history-title--en::before {
        top: -6.933vw;
        width: 6.4vw;
        height: 6.4vw; } }

#top-information__inner .top-shop-info--tbl tr, #top-history__inner .top-history--tbl tr {
  font-size: 16px;
  line-height: 1.625;
  font-weight: normal;
  letter-spacing: 0;
  border-bottom: 1px solid #CCCCCC; }
  @media screen and (max-width: 600px) {
    #top-information__inner .top-shop-info--tbl tr, #top-history__inner .top-history--tbl tr {
      display: flex;
      flex-direction: column;
      font-size: 3.733vw;
      line-height: 1.5;
      border-bottom: none; } }
#top-information__inner .top-shop-info--tbl th, #top-history__inner .top-history--tbl th {
  font-weight: normal;
  width: 140px;
  padding: 10px;
  vertical-align: middle; }
  @media screen and (max-width: 600px) {
    #top-information__inner .top-shop-info--tbl th, #top-history__inner .top-history--tbl th {
      width: 100%;
      padding: 2.667vw;
      border-bottom: 1px solid #CCCCCC; } }
#top-information__inner .top-shop-info--tbl td, #top-history__inner .top-history--tbl td {
  padding: 10px;
  color: #000; }
@media screen and (max-width: 600px) {
  #top-information__inner .top-shop-info--tbl, #top-history__inner .top-history--tbl {
    padding: 2.667vw; } }

#header-info .header-info--tel span, #bottom-area__inner .bottom-area--tel span, #top-information__inner .top-shop-info--tel span, #footer__inner #footer-address dl div dd.footer-address--tel span {
  display: inline; }
  @media screen and (max-width: 600px) {
    #header-info .header-info--tel span, #bottom-area__inner .bottom-area--tel span, #top-information__inner .top-shop-info--tel span, #footer__inner #footer-address dl div dd.footer-address--tel span {
      display: none; } }

#header-info .header-info--tel a, #bottom-area__inner .bottom-area--tel a, #top-information__inner .top-shop-info--tel a, #footer__inner #footer-address dl div dd.footer-address--tel a {
  display: none; }
  @media screen and (max-width: 600px) {
    #header-info .header-info--tel a, #bottom-area__inner .bottom-area--tel a, #top-information__inner .top-shop-info--tel a, #footer__inner #footer-address dl div dd.footer-address--tel a {
      display: inline; } }

#top-about {
  margin: 0;
  padding: 105px 0; }
  @media screen and (max-width: 600px) {
    #top-about {
      padding: 17.333vw 0 10.667vw; } }
  #top-about__inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: content-box; }
    @media screen and (max-width: 600px) {
      #top-about__inner {
        padding: 0 5.333vw; } }
    #top-about__inner .about--text {
      font-size: 19px;
      line-height: 1.5;
      text-align: center;
      margin: 0 0 80px; }
      @media screen and (max-width: 600px) {
        #top-about__inner .about--text {
          font-size: 4.533vw;
          line-height: 1.176;
          letter-spacing: 0.05em;
          margin-bottom: 8vw; } }
  #top-about .top-about-description {
    display: flex;
    gap: 40px; }
    @media screen and (max-width: 1080px) {
      #top-about .top-about-description {
        flex-direction: column; } }
    @media screen and (max-width: 600px) {
      #top-about .top-about-description {
        gap: 5.333vw; } }
    #top-about .top-about-description--text {
      flex: 0 0 480px; }
      @media screen and (max-width: 1080px) {
        #top-about .top-about-description--text {
          flex: 0 0 auto; } }
      #top-about .top-about-description--text p {
        color: #000;
        font-size: 16px;
        font-weight: 300;
        line-height: 2.125;
        letter-spacing: 0;
        margin: 0 0 10px; }
        @media screen and (max-width: 600px) {
          #top-about .top-about-description--text p {
            font-size: 3.733vw;
            line-height: 1.857;
            margin-bottom: 2.667vw; } }
    #top-about .top-about-description--img {
      flex: 0 0 480px; }
      @media screen and (max-width: 1080px) {
        #top-about .top-about-description--img {
          order: -1;
          flex: 0 0 auto; } }
      #top-about .top-about-description--img img {
        width: 100%;
        height: auto; }

#top-menu {
  margin: 0;
  padding: 105px 0;
  background-color: #EAF7EC; }
  @media screen and (max-width: 600px) {
    #top-menu {
      padding: 17.333vw 0 10.667vw; } }
  #top-menu__inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: content-box; }
    @media screen and (max-width: 600px) {
      #top-menu__inner {
        padding: 0 5.333vw; } }
    #top-menu__inner .top-menu--text {
      width: 350px;
      margin: 0 auto;
      text-align: center;
      color: #000;
      font-size: 16px;
      font-weight: 300;
      line-height: 2.125;
      letter-spacing: 0;
      padding: 10px 30px;
      border-radius: 50px;
      background-color: #fff; }
      @media screen and (max-width: 600px) {
        #top-menu__inner .top-menu--text {
          width: 100%;
          padding: 2.667vw 8vw;
          border-radius: 13.333vw;
          font-size: 3.733vw;
          line-height: 1.85; } }

#top-information {
  margin: 0;
  padding: 105px 0; }
  @media screen and (max-width: 600px) {
    #top-information {
      padding: 17.333vw 0 10.667vw; } }
  #top-information__inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: content-box; }
    @media screen and (max-width: 600px) {
      #top-information__inner {
        padding: 0 5.333vw; } }
    #top-information__inner .top-shop-title {
      font-size: 24px;
      font-weight: 300;
      line-height: 1.5;
      /* 150% */
      text-align: center;
      letter-spacing: 0;
      padding: 0 0 10px;
      margin: 0 0 60px;
      border-bottom: 1px solid #878787; }
      @media screen and (max-width: 1080px) {
        #top-information__inner .top-shop-title {
          margin-bottom: 30px; } }
      @media screen and (max-width: 600px) {
        #top-information__inner .top-shop-title {
          font-size: 4.267vw;
          line-height: 1.5;
          /* 150% */
          padding: 0 0 2.667vw;
          margin: 0 0 8vw; } }
    #top-information__inner .top-shop-info {
      display: flex;
      gap: 40px;
      margin: 0 0 60px; }
      @media screen and (max-width: 1080px) {
        #top-information__inner .top-shop-info {
          flex-direction: column; } }
      @media screen and (max-width: 600px) {
        #top-information__inner .top-shop-info {
          flex-direction: column;
          gap: 8vw;
          margin-bottom: 8vw; } }
      #top-information__inner .top-shop-info--tbl {
        flex: 0 0 480px; }
        @media screen and (max-width: 1080px) {
          #top-information__inner .top-shop-info--tbl {
            flex: 0 0 auto; } }
      #top-information__inner .top-shop-info--img {
        flex: 0 0 480px;
        text-align: center; }
        @media screen and (max-width: 1080px) {
          #top-information__inner .top-shop-info--img {
            order: -1;
            flex: 0 0 auto; } }
        #top-information__inner .top-shop-info--img img {
          width: 100%;
          height: auto; }
          @media screen and (max-width: 1080px) {
            #top-information__inner .top-shop-info--img img {
              max-width: 600px; } }
          @media screen and (max-width: 600px) {
            #top-information__inner .top-shop-info--img img {
              width: 100%; } }
    #top-information__inner .top-shop-map iframe {
      width: 100%;
      height: 400px; }
      @media screen and (max-width: 600px) {
        #top-information__inner .top-shop-map iframe {
          height: 94.667vw; } }

#top-history {
  margin: 0;
  padding: 105px 0;
  background-color: #EAF7EC; }
  @media screen and (max-width: 600px) {
    #top-history {
      padding: 17.333vw 0 10.667vw; } }
  #top-history__inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: content-box; }
    @media screen and (max-width: 600px) {
      #top-history__inner {
        padding: 0 5.333vw; } }
    #top-history__inner .top-history--tbl {
      margin: 0 auto;
      width: 100%;
      max-width: 780px; }

#pagetop {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 300; }
  @media screen and (max-width: 800px) {
    #pagetop {
      bottom: 65px;
      right: 5px; } }
  @media screen and (max-width: 600px) {
    #pagetop {
      bottom: 17.333vw;
      right: 1.333vw; } }
  #pagetop a {
    display: block;
    width: 78px;
    height: 78px;
    background: #198040 url("../image/share/pagetop.svg") center center no-repeat;
    background-size: 34px; }
    @media screen and (max-width: 800px) {
      #pagetop a {
        width: 60px;
        height: 60px; } }
    @media screen and (max-width: 600px) {
      #pagetop a {
        width: 10vw;
        height: 10vw;
        background-size: 10vw; } }

#footer {
  position: relative;
  margin: 0;
  padding: 0;
  background: #fff; }
  #footer__inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 85px 0 20px;
    box-sizing: content-box;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.5;
    color: #000;
    text-align: center; }
    @media screen and (max-width: 600px) {
      #footer__inner {
        padding: 8vw 5.333vw 21.333vw;
        font-size: 3.733vw; } }
    #footer__inner #footer-address {
      margin: 0 auto 20px;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #footer__inner #footer-address {
          margin-bottom: 5.333vw; } }
      #footer__inner #footer-address figure {
        margin: 0 auto 20px; }
        @media screen and (max-width: 600px) {
          #footer__inner #footer-address figure {
            margin-bottom: 5.333vw; } }
        #footer__inner #footer-address figure img {
          width: 275px;
          height: auto; }
          @media screen and (max-width: 600px) {
            #footer__inner #footer-address figure img {
              width: 73.333vw; } }
      #footer__inner #footer-address dl div {
        display: flex;
        justify-content: center; }
        #footer__inner #footer-address dl div dt {
          font-weight: 300; }
        #footer__inner #footer-address dl div dt.visually-hidden {
          position: absolute;
          /* レイアウトから外す */
          width: 1px;
          /* ほぼ見えないサイズにする */
          height: 1px;
          margin: -1px;
          /* 余計な隙間を消す */
          overflow: hidden;
          /* はみ出しを隠す */
          clip: rect(0 0 0 0);
          /* 描画領域を完全に切る */
          border: 0;
          /* 枠線を消す */ }
    #footer__inner #footer-sns a {
      display: block;
      margin: 0 auto 50px;
      width: 30px;
      height: 30px; }
      @media screen and (max-width: 600px) {
        #footer__inner #footer-sns a {
          margin-bottom: 16vw;
          width: 8vw;
          height: 8vw; }
          #footer__inner #footer-sns a img {
            width: 100%;
            height: auto; } }
    #footer__inner #copyright__inner {
      font-size: 12px;
      font-weight: 300;
      line-height: 1.5;
      text-align: center;
      color: #878787; }
      @media screen and (max-width: 600px) {
        #footer__inner #copyright__inner {
          font-size: 3.2vw; } }

/* clearfix */
.clearfix:after {
  content: " ";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0; }

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