@charset "UTF-8";
/*-----------
PC共通
------------*/
:root {
  --white: #ffffff;
  --green: #4eae51;
  --black: #4c4948;
  --gray: #f5f5f5;
  --content-max-width: 1200px;
  --content-sp-width: 93%;
}

.wrapper {
  position: relative;
  z-index: 9999;
  max-width: 1920px;
  margin: 0 auto;
  width: 100%;
}

body {
  color: var(--black);
  font-size: 18px;
  letter-spacing: 0.025em;
  line-height: 2.11111;
  font-family: 'Noto Sans JP', sans-serif;
}

[class$="-inn"] {
  max-width: var(--content-max-width);
  margin: 0 auto;
}

.lato {
  font-family: 'Lato', sans-serif;
}

.top [class$="-ttl"] span,
.conceptpage [class$="-ttl"] span {
  display: block;
  font-size: 30px;
  letter-spacing: 0.1em;
  color: var(--green);
  position: relative;
  margin-bottom: 56px;
  font-family: 'Lato', sans-serif;
  text-align: center;
  z-index: -1;
}

.top [class$="-ttl"] span:after,
.conceptpage [class$="-ttl"] span:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 48px;
  height: 1px;
  content: '';
  background-color: var(--green);
}

[class$="-mttl"] {
  font-size: 25px;
  letter-spacing: 0.2em;
  line-height: 1.56;
  font-weight: 500;
}

[class$="-text"] {
  font-size: 18px;
  letter-spacing: 0.025em;
  line-height: 2.11111;
  font-weight: 300;
}

[class$="-btn"] {
  border: 0;
  background-color: transparent;
}

[class$="-btn"] a {
  border: 1px solid var(--green);
  text-align: center;
  padding: 16px 60px;
  font-weight: 500;
  font-size: 16px;
  color: var(--green);
  font-family: 'Noto Sans JP', sans-serif;
}

[class$="-btn"] a:hover {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border: 1px solid var(--green);
  color: white;
  background-color: var(--green);
}

[class$="Flex"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  body {
    color: var(--black);
    font-size: clamp(14px, 3.73333vw, 28px);
    line-height: 1.82143;
  }
  [class$="-text"] {
    font-size: clamp(14px, 3.73333vw, 28px);
    line-height: 1.82143;
  }
  [class$="-inn"] {
    max-width: var(--content-sp-width);
  }
  .top [class$="-ttl"] span,
  .conceptpage [class$="-ttl"] span {
    font-size: clamp(27px, 7.33333vw, 55px);
    letter-spacing: 0.075em;
    margin-bottom: 25px;
  }
  .top [class$="-ttl"] span:after,
  .conceptpage [class$="-ttl"] span:after {
    width: 10.66667vw;
  }
  [class$="-mttl"] {
    font-size: clamp(17px, 4.66667vw, 35px);
    line-height: 1.34286;
  }
  [class$="-btn"] a {
    padding: 10px 40px;
  }
  [class$="Flex"] {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

/*-----------
header
------------*/
.header {
  position: fixed;
  background-color: transparent;
  padding: 24px 20px;
  width: 100%;
  top: 0;
  max-width: 1920px;
  margin: 0 auto;
  width: 100%;
}

.header-logo {
  max-width: 230px;
}

.headerFlex {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header ul a {
  padding: 0 14px;
  line-height: 1;
}

.header ul li:nth-child(n+4) a {
  border-left: 1px solid var(--black);
  letter-spacing: 0.1em;
}

.header.is-Active {
  background-color: rgba(78, 174, 81, 0.7);
  color: var(--white);
  -webkit-transition: 0.1s;
  transition: 0.1s;
  z-index: 100;
  top: 0;
}

.header.is-Active ul li:nth-child(n+4) a {
  border-left: 1px solid var(--white);
}

@media screen and (max-width: 767px) {
  .header {
    padding: 8px;
    /*------------
        ハンバーガーボタン中身
        ------------*/
    /*------------
        ハンバーガーボタン
        ------------*/
  }
  .header-logo {
    width: 32vw;
    max-width: 240px;
    margin: 0 auto 0 0;
    text-align: left;
  }
  .header-navi {
    display: block;
    position: fixed;
    top: 0;
    right: -100%;
    bottom: 0;
    width: 100%;
    background: var(--green);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: .5s;
    transition: .5s;
    z-index: 300;
  }
  .header-naviFlex {
    color: var(--white);
    padding: 60px 5.33333vw;
  }
  .header .open .header-navi {
    right: 0;
  }
  .header ul a {
    padding: 30px 0;
    width: 100%;
    font-size: clamp(20px, 5.33333vw, 40px);
  }
  .header ul li:nth-child(n+4) a {
    border-left: 0;
    letter-spacing: 0;
  }
  .header ul a[href^="tel:"] {
    border: 1px solid var(--white) !important;
  }
  .header ul .sp-contact {
    padding: 30px 0;
  }
  .header ul .sp-contact a {
    padding: 15px 35px;
    width: auto;
    border: 1px solid var(--white);
    font-size: clamp(21px, 5.73333vw, 43px);
    letter-spacing: 0.075em;
  }
  .header.is-Active ul li:nth-child(n+4) a {
    border-left: 0;
  }
  .header .toggle_btn {
    display: block;
    position: absolute;
    top: 10px;
    right: 8px;
    width: 50px;
    height: 30px;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    -webkit-transition: all .5s;
    transition: all .5s;
    cursor: pointer;
    z-index: 400;
  }
  .header .toggle_btn span {
    display: block;
    position: absolute;
    right: 0;
    width: 50px;
    height: 2px;
    background-color: var(--black);
    -webkit-transition: all .5s;
    transition: all .5s;
  }
  .header .toggle_btn span:nth-child(1) {
    top: 0px;
    width: 40px;
  }
  .header .toggle_btn span:nth-child(2) {
    top: 10px;
    width: 30px;
    -webkit-animation: equalizer02 5000ms infinite;
            animation: equalizer02 5000ms infinite;
  }
  .header .toggle_btn span:nth-child(3) {
    top: 20px;
    width: 20px;
  }
  .header.is-Active .toggle_btn span {
    background-color: #fff;
  }
  .header .open .toggle_btn span {
    background-color: var(--white);
    width: 70%;
  }
  .header .open .toggle_btn span:nth-child(1) {
    -webkit-transform: translate(0, 10px) rotate(-45deg);
            transform: translate(0, 10px) rotate(-45deg);
    -webkit-animation: unset;
            animation: unset;
  }
  .header .open .toggle_btn span:nth-child(2) {
    opacity: 0;
    -webkit-animation: unset;
            animation: unset;
  }
  .header .open .toggle_btn span:nth-child(3) {
    -webkit-transform: translate(0, -10px) rotate(45deg);
            transform: translate(0, -10px) rotate(45deg);
    -webkit-animation: unset;
            animation: unset;
  }
}

/*-----------
footer
------------*/
.footer {
  background-color: var(--green);
  color: var(--white);
  padding: 94px 0 34px;
  letter-spacing: 0.075em;
}

.footerFlex {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.footerFlex > div {
  width: 50%;
}

.footer-address {
  letter-spacing: 0.1em;
}

.footer-address p {
  font-weight: 500;
  font-size: 20px;
  padding: 20px 0 10px;
}

.footer-address address {
  font-weight: 300;
}

.footer-map {
  width: 50%;
  height: 19.6875vw;
}

.footer-map iframe {
  z-index: 1;
  width: 100%;
  height: 100%;
}

.footer-tel {
  margin-top: 48px;
  font-size: 26px;
}

.footer-tel img {
  vertical-align: sub;
}

.footer-tel a {
  padding: 20px 60px;
  border: 1px solid var(--white);
}

.footer .copy {
  margin-top: 50px;
  text-align: center;
  font-size: 16px;
  font-weight: 300;
}

#roop {
  width: 100%;
  height: 500px;
  background: url("../img/top/shop1.jpg") repeat-x center/auto 100%;
  background-position: 0 0;
  -webkit-animation: bgroop 60s linear infinite;
  animation: bgroop 60s linear infinite;
}

@-webkit-keyframes bgroop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -2660px 0;
  }
}

@keyframes bgroop {
  from {
    background-position: -2660px 0;
  }
  to {
    background-position: 0 0;
  }
}

@media screen and (max-width: 767px) {
  .footer {
    padding: 50px 0 15px;
    text-align: center;
  }
  .footer-logo {
    max-width: 340px;
    width: 45.33333vw;
    margin: 0 auto;
  }
  .footerFlex > div {
    width: auto;
  }
  .footer-address p {
    font-size: clamp(12px, 3.2vw, 24px);
    padding: 10px 0 20px;
  }
  .footer-map {
    width: 100%;
    height: 53.33333vw;
    margin-top: 20px;
  }
  .footer-tel {
    margin-top: 25px;
    font-size: clamp(21px, 5.73333vw, 43px);
  }
  .footer-tel a {
    padding: 15px 40px;
  }
  .footer .copy {
    margin-top: 25px;
    font-size: clamp(11px, 2.8vw, 21px);
  }
  #roop {
    height: 60vw;
  }
}

body {
  position: relative;
}
/*# sourceMappingURL=common.css.map */