#header .hdblk {
  margin-top: 20vw;
}
#header .hdblk .set {
  padding-top: 12vw;
  position: relative;
}
#header .hdblk .set .deco-moc {
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  #header {
    padding-bottom: 115px;
  }
  #header .hdblk {
    margin-top: 220px;
  }
  #header .hdblk .set {
    padding-top: 51px;
  }
  #header .hdblk .set .deco-moc {
    left: 125px;
  }
}

#intro {
  padding-top: 10vw;
  position: relative;
  z-index: 0;
}
#intro .wave-holder {
  height: 40vw;
  top: auto;
  bottom: 5vw;
}
#intro .logo {
  text-align: center;
}
#intro .logo img {
  width: 40vw;
}
#intro h2.ttl {
  width: 23vw;
  height: 75vw;
  margin: 0 auto;
  color: #251801;
  font-size: 7vw;
  line-height: 1.6;
  letter-spacing: 0.12em;
  text-align: left;
  white-space: nowrap;
}
#intro h2.ttl .int {
  line-height: 1;
  letter-spacing: 0.12em;
}
#intro h2.ttl .txt-indent {
  min-height: 38vw;
  display: inline-block;
  margin-top: 7vw;
  padding-bottom: 20vw;
  position: relative;
}
#intro h2.ttl .txt-indent::before {
  content: "";
  height: 17vw;
  border-left: 1px solid;
  position: absolute;
  bottom: 0;
  left: 50%;
}
#intro h3.ttl {
  color: #251801;
  font-size: 5vw;
  line-height: 1.6;
  letter-spacing: 0.12em;
}
#intro h3.ttl .en {
  display: block;
  font-size: 11vw;
  line-height: 1.1;
  letter-spacing: 0;
}
#intro h3.ttl .jp {
  display: block;
}
#intro .h2box {
  margin-top: 10vw;
}
#intro .set1 {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 10vw auto 0;
}
#intro .set1 .gr1 .ttl {
  text-align: right;
}
#intro .set1 .gr2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: 5vw;
     -moz-column-gap: 5vw;
          column-gap: 5vw;
  margin-top: 5vw;
}
#intro .set1 .gr2 .ttl {
  width: 8vw;
  height: 50vw;
}
#intro .set1 .gr2 .img {
  width: 50vw;
}
#intro .set2 {
  margin: 15vw var(--paddingWrap-negative) 0 4vw;
}
#intro .set2 .gr2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 5vw;
     -moz-column-gap: 5vw;
          column-gap: 5vw;
  margin-top: 5vw;
}
#intro .set2 .gr2 .ttl {
  width: 8vw;
  height: 68vw;
}
#intro .set3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 5vw;
     -moz-column-gap: 5vw;
          column-gap: 5vw;
  margin: 15vw 0 0 var(--paddingWrap-negative);
}
#intro .set3 .gr1 {
  width: 45%;
}
#intro .set3 .gr2 {
  width: 55%;
}
#intro .set3 .gr2 .ttl .en {
  margin-bottom: 3vw;
  font-size: 9vw;
}
#intro .set4 {
  margin: 15vw 0 0 var(--paddingWrap-negative);
}
#intro .set4 .gr1 .ttl {
  text-align: right;
}
#intro .set4 .gr2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 5vw;
     -moz-column-gap: 5vw;
          column-gap: 5vw;
  margin-top: 5vw;
}
#intro .set4 .gr2 .ttl {
  width: 16vw;
  height: 80vw;
  letter-spacing: 0;
}
#intro .set4 .gr2 .ttl .txt-indent {
  display: inline-block;
  margin-top: 21vw;
  padding-bottom: 20vw;
  position: relative;
}
#intro .set4 .gr2 .ttl .txt-indent::before {
  content: "";
  height: 17vw;
  border-left: 1px solid;
  position: absolute;
  bottom: 0;
  left: 50%;
}
#intro .set4 .gr2 .img {
  margin-left: -5vw;
}
#intro .set5 {
  margin-top: 10vw;
  position: relative;
}
#intro .set5 .catch {
  color: #251801;
  font-size: 5vw;
  line-height: 1.6;
  letter-spacing: 0.12em;
  text-align: center;
  position: relative;
  z-index: 1;
}
#intro .set5 .txt-deco {
  width: 100vw;
  color: #efebe6;
  font-size: 14vw;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  left: var(--paddingWrap-negative);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#intro .set5 .txt-deco > span {
  display: block;
}
#intro .deco {
  width: 100%;
  margin-top: 5vw;
  text-align: center;
  position: relative;
  top: 0;
}
#intro .deco > span {
  width: 17vw;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  #intro {
    padding-top: 85px;
  }
  #intro .wave-holder {
    height: 200px;
    bottom: -100px;
  }
  #intro .wrap {
    width: 100%;
    max-width: 1200px;
  }
  #intro .logo img {
    width: auto;
  }
  #intro h2.ttl {
    width: 100px;
    height: 360px;
    font-size: 35px;
    line-height: 49px;
  }
  #intro h2.ttl .txt-indent {
    min-height: 200px;
    margin-top: 38px;
    padding-bottom: 110px;
  }
  #intro h2.ttl .txt-indent::before {
    height: 100px;
  }
  #intro h3.ttl {
    font-size: 28px;
    line-height: 49px;
  }
  #intro h3.ttl .en {
    font-size: 60px;
  }
  #intro .h2box {
    margin-top: 103px;
  }
  #intro .set1 {
    width: 460px;
    margin: 55px 0 0;
  }
  #intro .set1 .gr2 {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    margin-top: 34px;
  }
  #intro .set1 .gr2 .ttl {
    width: 50px;
    height: 225px;
  }
  #intro .set1 .gr2 .img {
    width: auto;
  }
  #intro .set2 {
    width: 680px;
    margin: -252px -150px 0 auto;
  }
  #intro .set2 .gr2 {
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    margin-top: 30px;
  }
  #intro .set2 .gr2 .ttl {
    width: 50px;
    height: 380px;
  }
  #intro .set2 .gr2 .img {
    margin-top: 4px;
  }
  #intro .set3 {
    -webkit-column-gap: 47px;
       -moz-column-gap: 47px;
            column-gap: 47px;
    margin: 16px 0 0;
  }
  #intro .set3 .gr1 {
    width: auto;
  }
  #intro .set3 .gr2 {
    width: auto;
  }
  #intro .set3 .gr2 .ttl {
    padding: 50px 0 10px;
  }
  #intro .set3 .gr2 .ttl .en {
    margin-bottom: 10px;
    font-size: 60px;
  }
  #intro .set4 {
    width: 792px;
    margin: 48px auto 0;
  }
  #intro .set4 .gr2 {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    margin-top: 33px;
  }
  #intro .set4 .gr2 .ttl {
    width: 100px;
    height: 440px;
    letter-spacing: 0.12em;
  }
  #intro .set4 .gr2 .ttl .txt-indent {
    margin-top: 124px;
    padding-bottom: 110px;
  }
  #intro .set4 .gr2 .ttl .txt-indent::before {
    height: 100px;
  }
  #intro .set4 .gr2 .img {
    margin-left: 0;
  }
  #intro .set5 {
    margin-top: 152px;
  }
  #intro .set5 .catch {
    font-size: 35px;
    line-height: 54px;
  }
  #intro .set5 .txt-deco {
    width: 100%;
    font-size: 140px;
    left: 0;
  }
  #intro .deco {
    width: max-content;
    margin: 10px auto 0;
    top: 100px;
  }
  #intro .deco > span {
    width: max-content;
  }
}

#sec1 h2.ttl {
  font-size: 5vw;
  line-height: 2;
  letter-spacing: 0.12em;
}
#sec1 h2.ttl small {
  color: var(--primary);
  font-size: 4vw;
  letter-spacing: 0.12em;
}
#sec1 .blk1 {
  padding: 16vw 0 22vw;
  background: url("../img/index/sec1_bgi_sp.jpg") center/cover no-repeat;
  color: #fff;
}
#sec1 .blk1 .set .txt {
  margin-top: 4vw;
}
#sec1 .blk2 .set1 {
  position: relative;
  z-index: 0;
}
#sec1 .blk2 .set1::before {
  content: "";
  width: 100vw;
  height: 26vw;
  display: block;
  background: url("../img/shared/deco2.png") 0 0/contain no-repeat;
  position: absolute;
  bottom: -7vw;
  right: -42vw;
  z-index: -1;
}
#sec1 .blk2 .set1 .gr1 .img1 {
  width: 63vw;
  margin: -10vw -4vw 0 auto;
}
#sec1 .blk2 .set1 .gr1 .img2 {
  width: 18vw;
  margin: 5vw 5vw 0 auto;
}
#sec1 .blk2 .set1 .gr2 {
  margin-top: -8vw;
}
#sec1 .blk2 .set1 .gr2 .img {
  width: 58vw;
  margin-left: var(--paddingWrap-negative);
}
#sec1 .blk2 .set2 {
  margin-top: 14vw;
}
#sec1 .blk2 .set2 .img {
  width: 75vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #sec1 h2.ttl {
    font-size: 28px;
    line-height: 54px;
  }
  #sec1 h2.ttl small {
    display: inline-block;
    margin-bottom: -5px;
    font-size: 23px;
  }
  #sec1 .blk1 {
    padding: 174px 0 180px;
    background-image: url("../img/index/sec1_bgi.jpg");
  }
  #sec1 .blk1 .wrap {
    width: 100%;
    max-width: 1260px;
    padding: 0 30px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #sec1 .blk1 .set {
    width: 495px;
    margin-left: auto;
  }
  #sec1 .blk1 .set .txt {
    margin-top: 34px;
  }
  #sec1 .blk2 .set1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #sec1 .blk2 .set1::before {
    width: 711px;
    height: 228px;
    bottom: -122px;
    right: -326px;
  }
  #sec1 .blk2 .set1 .gr1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
  #sec1 .blk2 .set1 .gr1 .img1 {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: -81px -168px 0 auto;
  }
  #sec1 .blk2 .set1 .gr1 .img2 {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 98px 0 0 20px;
  }
  #sec1 .blk2 .set1 .gr2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    margin-top: 118px;
  }
  #sec1 .blk2 .set1 .gr2 .img {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin-left: -150px;
  }
  #sec1 .blk2 .set2 {
    margin-top: 98px;
  }
  #sec1 .blk2 .set2 .img {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 0 0 0 40px;
  }
}

#sec2 {
  padding-top: 25vw;
  position: relative;
  z-index: 0;
}
#sec2::before {
  content: "";
  height: 90vw;
  background: url("../img/shared/pattern1.png") 0 0/250px;
  border-radius: 9999px 0 0 9999px;
  position: absolute;
  top: 10vw;
  left: 4vw;
  right: 0;
  z-index: -1;
}
#sec2 .wrap::before {
  content: "";
  width: 85px;
  height: 24px;
  background: url("../img/shared/deco1.png") 0 0/contain no-repeat;
  position: absolute;
  top: -11vw;
  right: 15vw;
  z-index: -1;
}
#sec2 h2.ttl {
  margin-top: 8vw;
  color: #251801;
  font-size: 9vw;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: center;
}
#sec2 .set .gr1 .txtnote {
  text-align: center;
}
#sec2 .set .gr1 .img {
  width: 59vw;
  margin: 5vw auto 0;
}
#sec2 .set .gr2 {
  margin-top: 9vw;
}
#sec2 .set .gr2 .btn-link {
  margin-top: 6vw;
}
#sec2 .set .gr2 .img {
  width: 54vw;
  margin: 14vw auto 0;
}
@media screen and (min-width: 768px) {
  #sec2 {
    padding-top: 217px;
  }
  #sec2::before {
    width: calc(50% + 440px);
    height: 502px;
    background-size: 337px;
    top: 92px;
    left: auto;
  }
  #sec2 .wrap::before {
    width: 126px;
    height: 34px;
    top: 31px;
    right: -2px;
  }
  #sec2 h2.ttl {
    margin-top: 0;
    font-size: 70px;
    text-align: left;
  }
  #sec2 .set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #sec2 .set .gr1 {
    width: 350px;
  }
  #sec2 .set .gr1 .txtnote {
    text-align: right;
  }
  #sec2 .set .gr1 .img {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 23px 0 0 -200px;
  }
  #sec2 .set .gr2 {
    width: 530px;
    margin-top: 211px;
  }
  #sec2 .set .gr2 .txt {
    margin-top: 28px;
  }
  #sec2 .set .gr2 .btn-link {
    margin-top: 33px;
    text-align: right;
  }
  #sec2 .set .gr2 .img {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 67px 0 0;
  }
}

#sec3 {
  padding-top: 26vw;
  position: relative;
  z-index: 0;
}
#sec3::before {
  content: "";
  height: 90vw;
  background: url("../img/shared/pattern1.png") 0 0/250px;
  border-radius: 0 9999px 9999px 0;
  position: absolute;
  top: 10vw;
  left: 0;
  right: var(--paddingWrap);
  z-index: -1;
}
#sec3 .bnr-style {
  position: relative;
}
#sec3 .bnr-style .bnr__ttl {
  font-size: 7vw;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: center;
}
#sec3 .bnr-style .bnr__content {
  width: 100%;
  padding: 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: rgba(78, 68, 73, 0.85);
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
#sec3 .bnr-style .bnr__content::before {
  content: "";
  width: 10px;
  height: 100%;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 21 17'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M20.096,8.149 L10.944,16.158 L10.944,0.141 L20.096,8.149 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M0.604,7.006 L12.044,7.006 L12.044,9.294 L0.604,9.294 L0.604,7.006 Z'/%3E%3C/svg%3E") center/contain no-repeat;
  position: absolute;
  top: 0;
  right: 7vw;
}
#sec3 .set .bnr + .bnr {
  margin-top: 5vw;
}
@media screen and (min-width: 768px) {
  #sec3 {
    padding-top: 161px;
  }
  #sec3::before {
    width: calc(50% + 440px);
    height: 502px;
    background-size: 337px;
    top: 63px;
    right: auto;
  }
  #sec3 .wrap {
    width: 100%;
    max-width: 1200px;
  }
  #sec3 .bnr-style .bnr__ttl {
    font-size: 50px;
  }
  #sec3 .bnr-style .bnr__content {
    padding: 22px 20px 17px;
  }
  #sec3 .bnr-style .bnr__content::before {
    width: 19px;
    right: 43px;
  }
  #sec3 .set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
  }
  #sec3 .set .bnr {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  #sec3 .set .bnr + .bnr {
    margin-top: 50px;
  }
}

#sec4 {
  padding: 20vw 0 30vw;
}
#sec4 h2.ttl {
  font-size: 6vw;
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: center;
}
#sec4 h2.ttl .catch {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: block;
  margin: 0 auto 3vw;
  padding: 0 9vw 10vw;
  color: #644413;
  font-size: 4vw;
  line-height: 1.1;
  letter-spacing: 0.12em;
  position: relative;
}
#sec4 h2.ttl .catch::before {
  content: "";
  width: 100%;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 397.0874 85.6867'%3E%3Cg%3E%3Cpath d='M397.0865,6.1755c-.2256,1.0077-.4433,2.5636-.9304,4.0299-.8903,2.68-1.9514,5.2839-3.4612,7.7143-3.3067,5.3229-7.2298,10.1094-11.8258,14.3656-1.0452.9681-2.1398,1.8182-3.3368,2.5897-7.4329,4.7904-15.5925,7.9645-23.9019,10.7964-6.4321,2.1922-13.0303,3.8079-19.6702,5.2023-3.7269.7826-7.535,1.1956-11.3177,1.6897-4.0584.5301-8.1214.9992-12.157,1.712-2.3588.4166-4.7703.5596-7.1642.7477-5.0783.3991-10.1719.636-15.2382,1.1473-5.0746.5123-10.1613.718-15.2455,1.0283-3.526.2152-7.0398.6282-10.56.9433-2.3935.2143-4.7937.6306-7.1819.5746-5.9948-.1408-11.8133,1.1228-17.6855,1.9504-2.9368.414-5.8866.8783-8.75,1.6275-2.8621.7491-5.6571,1.7965-8.421,2.8689-3.2507,1.2613-5.6346,3.7263-7.98,6.1907-2.8107,2.9532-4.5321,6.4509-5.1299,10.4961-.1029.6964-.2418,1.3956-.452,2.066-.2969.9465-1.5097,1.9135-2.1615,1.7529-.8664-.2134-1.5077-.7531-1.9158-1.5452-.1277-.2478-.1885-.5311-.2719-.8007-1.426-4.6049-4.2824-8.1903-7.86-11.3266-3.5653-3.1253-7.7464-5.238-11.9674-7.1786-4.3536-2.0015-8.8311-3.8456-13.6065-4.6812-2.7716-.485-5.5197-1.1531-8.3561-1.2345-.8454-.0243-1.6884-.1792-2.5293-.2974-6.1659-.8666-12.3867-1.1883-18.5693-1.8663-6.6394-.7281-13.2872-.4367-19.9324-.5564-5.0939-.0917-10.1837-.128-15.2722-.5645-5.7871-.4964-11.5944-.1552-17.3915.0725-.9881.0389-1.9816.109-2.9659.0506-8.473-.5029-16.9645-.7962-25.3713-2.0946-5.7474-.8877-11.3422-2.39-16.6747-4.6942-4.7966-2.0728-9.5197-4.3283-14.1925-6.6684-1.8786-.9408-3.5757-2.2683-5.2874-3.5134-4.131-3.0048-7.9517-6.3877-11.1905-10.3318-3.3339-4.0599-6.1434-8.4795-7.7126-13.5709C2.4088,11.4936,1.3305,8.1304.3707,4.7338.0684,3.6641.0408,2.5037.0004,1.3807c-.0134-.3714.2969-.7742.5142-1.129.2458-.4014,1.239-.286,1.4876.0886.5762.8683.5787,1.867.7591,2.8347,1.1203,6.0105,2.8853,11.8244,5.8159,17.2054,2.2445,4.1213,5.2633,7.648,8.7233,10.855,6.8437,6.3433,14.8332,10.7571,23.3207,14.4107,3.1181,1.3423,6.2283,2.6769,9.4971,3.6356,4.6194,1.3547,9.26,2.4032,14.1133,2.5953,4.6593.1845,9.3025.7601,13.9547,1.1409,1.8305.1498,3.666.332,5.4995.3361,5.8036.0131,11.6084-.1311,17.4109-.0608,4.952.0601,9.9043.2742,14.8511.5269,4.9503.253,9.901.2929,14.8538.2638,7.5168-.0441,14.9713.7961,22.4312,1.5507,4.2253.4273,8.4465.9007,12.6639,1.4009,3.9507.4686,7.7557,1.552,11.5073,2.8472,4.4244,1.5274,8.7087,3.4157,12.7742,5.6927,4.3267,2.4232,8.2798,5.4157,11.2,9.551.1627.2305.2929.4843.4588.7123,1.799,2.4728,2.264,3.2871,4.1494-.2046,1.7495-3.2399,3.975-6.1611,6.7044-8.7009,2.4292-2.2606,5.1854-3.8832,8.2655-5.0506,3.4546-1.3093,7.004-2.149,10.6675-2.6381,3.4985-.4671,6.9842-1.0714,10.4459-1.7631,3.9008-.7794,7.8339-1.1579,11.7965-1.2662,3.9639-.1082,7.9009-.4655,11.8492-.828,4.6411-.426,9.2787-1.0176,13.9672-.9943,2.8186.014,5.6401-.3829,8.4588-.6128.8458-.0689,1.6853-.271,2.53-.2867,5.0998-.0946,10.1461-.7153,15.1819-1.4625.4176-.062.8468-.0536,1.2709-.0634,4.96-.1149,9.8395-.9324,14.7276-1.6773.2797-.0427.5613-.0756.8431-.1026,9.0465-.8663,17.8828-2.8238,26.5444-5.4818,8.1119-2.4894,16.0512-5.4514,23.5179-9.5945,3.7556-2.0839,7.1722-4.506,9.9784-7.7615,3.048-3.5365,6.0847-7.091,8.2285-11.2766.8996-1.7562,1.6849-3.5869,2.34-5.4477.6077-1.7259,1.0082-3.4934.4017-5.3907-.3581-1.1205.4672-1.932,1.5984-1.9128,1.122.019,1.8068.7479,1.7826,1.8959-.0029.1414-.0003.2829-.0003.9576Z' fill='rgb(100,68,19)'/%3E%3C/g%3E%3C/svg%3E") center bottom/100% no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
#sec4 h2.ttl .catch strong {
  font-weight: 600;
}
#sec4 .set1 {
  margin-top: 7vw;
}
#sec4 .set2 {
  margin-top: 10vw;
  position: relative;
  z-index: 0;
}
#sec4 .set2::before {
  content: "";
  width: 120vw;
  height: 40vw;
  display: block;
  background: url("../img/shared/deco3.png") 0 0/contain no-repeat;
  position: absolute;
  bottom: -33vw;
  right: -5vw;
  z-index: -1;
}
#sec4 .set2 .slider .gr {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  padding-right: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#sec4 .set2 .slider .gr .img {
  width: 45vw;
}
#sec4 .set2 .btn-link {
  margin-top: 10vw;
}
@media screen and (min-width: 768px) {
  #sec4 {
    padding: 152px 0 172px;
  }
  #sec4 h2.ttl {
    font-size: 35px;
    line-height: 54px;
  }
  #sec4 h2.ttl .catch {
    margin-bottom: 8px;
    padding: 0 42px 50px;
    color: #4e4449;
    font-size: 20px;
  }
  #sec4 .set1 {
    margin-top: 30px;
    text-align: center;
  }
  #sec4 .set1 .txt {
    width: 710px;
    margin: 0 auto;
  }
  #sec4 .set2 {
    margin-top: 67px;
  }
  #sec4 .set2::before {
    width: 1219px;
    height: 333px;
    bottom: -112px;
    right: -100px;
  }
  #sec4 .set2 .slider .gr {
    -webkit-column-gap: 70px;
       -moz-column-gap: 70px;
            column-gap: 70px;
    padding-right: 70px;
  }
  #sec4 .set2 .slider .gr .img {
    width: 400px;
  }
  #sec4 .set2 .btn-link {
    margin-top: 68px;
    text-align: center;
  }
}

#sec5 {
  padding: 32vw 0 33vw;
  background: url("../img/index/sec5_bgi.jpg") center/cover no-repeat;
  color: #fff;
}
#sec5 h2.ttl {
  font-size: 12vw;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: center;
}
#sec5 .set {
  margin-top: 9vw;
}
#sec5 .set .btn-link {
  margin-top: 11vw;
}
@media screen and (min-width: 768px) {
  #sec5 {
    padding: 168px 0 161px;
  }
  #sec5 h2.ttl {
    font-size: 70px;
  }
  #sec5 .set {
    margin-top: 43px;
    text-align: center;
  }
  #sec5 .set .btn-link {
    margin-top: 61px;
  }
}

#shopinfo {
  padding-top: 20vw;
}
#shopinfo h2.ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 4vw;
     -moz-column-gap: 4vw;
          column-gap: 4vw;
  padding-right: 17vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 6vw;
  line-height: 1.5;
  letter-spacing: 0.12em;
  position: relative;
}
#shopinfo h2.ttl .en {
  display: block;
  font-size: 3vw;
  letter-spacing: 0.12em;
}
#shopinfo h2.ttl .jp {
  width: 10vw;
  height: 29vw;
  display: block;
}
#shopinfo .logobox {
  width: 63vw;
  margin: 0 auto;
}
#shopinfo .logobox .txt {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 3vw auto 0;
  line-height: 1.8928571429;
}
#shopinfo .logobox hr {
  margin-top: 5vw;
  border: 0;
  border-top: 1px solid rgba(71, 46, 5, 0.3);
}
#shopinfo .contactbox {
  margin-top: 7vw;
  text-align: center;
}
#shopinfo .contactbox .tel {
  margin-bottom: 7vw;
}
#shopinfo .contactbox .btn-instagram {
  margin-top: 5vw;
}
#shopinfo .policy {
  margin: 12vw -4vw 0;
  padding: 9vw 5vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: url("../img/shared/bg1.jpg");
  line-height: 1.8928571429;
  letter-spacing: 0.05em;
}
#shopinfo .policy dt {
  font-size: 16px;
  letter-spacing: 0.12em;
  text-align: center;
}
#shopinfo .policy dd {
  margin-top: 5vw;
}
#shopinfo .policy dd + dd {
  margin-top: 0;
}
#shopinfo .shopinfo {
  margin: 0 -4vw;
  font-size: 12px;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
#shopinfo .shopinfo dl {
  padding: 10px 0;
  border-bottom: 1px solid #e6d4b7;
}
#shopinfo .shopinfo dl dd {
  margin-left: 15px;
}
#shopinfo .set .gr2 {
  margin-top: 10vw;
}
@media screen and (min-width: 768px) {
  #shopinfo {
    padding-top: 129px;
  }
  #shopinfo .wrap {
    width: 100%;
    max-width: 1200px;
  }
  #shopinfo h2.ttl {
    -webkit-column-gap: 25px;
       -moz-column-gap: 25px;
            column-gap: 25px;
    padding-right: 122px;
    font-size: 35px;
  }
  #shopinfo h2.ttl .en {
    font-size: 16px;
  }
  #shopinfo h2.ttl .jp {
    width: 60px;
    height: 170px;
  }
  #shopinfo .logobox {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    text-align: center;
  }
  #shopinfo .logobox .txt {
    width: auto;
    margin-top: 18px;
    font-size: 14px;
    line-height: 30px;
  }
  #shopinfo .logobox hr {
    margin-top: 22px;
  }
  #shopinfo .contactbox {
    margin-top: 23px;
  }
  #shopinfo .contactbox .tel {
    margin-bottom: 17px;
  }
  #shopinfo .contactbox .tel dt {
    font-size: 17px;
  }
  #shopinfo .contactbox .tel .tel-number {
    font-size: 30px;
  }
  #shopinfo .contactbox .tel .tel-number::before {
    width: 29px;
    height: 29px;
    margin-bottom: -4px;
  }
  #shopinfo .contactbox .btn-reserve a {
    max-width: 264px;
    min-height: 54px;
    padding-right: 23px;
    -webkit-column-gap: 17px;
       -moz-column-gap: 17px;
            column-gap: 17px;
    font-size: 18px;
  }
  #shopinfo .contactbox .btn-reserve a::before {
    width: 20px;
    height: 20px;
  }
  #shopinfo .contactbox .btn-reserve a::after {
    width: 11px;
    right: 13px;
  }
  #shopinfo .contactbox .btn-instagram {
    margin-top: 14px;
  }
  #shopinfo .policy {
    margin: 53px 0 0;
    padding: 47px 45px 40px;
    font-size: 14px;
    line-height: 25px;
  }
  #shopinfo .policy dt {
    font-size: 20px;
  }
  #shopinfo .policy dd {
    margin-top: 27px;
  }
  #shopinfo .policy dd + dd {
    margin-top: 25px;
  }
  #shopinfo .shopinfo {
    margin: 0;
    font-size: 16px;
    line-height: 30px;
  }
  #shopinfo .shopinfo dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 13px 0 16px;
  }
  #shopinfo .shopinfo dl dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 140px;
            flex: 0 0 140px;
    padding: 0 18px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #shopinfo .shopinfo dl dd {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    margin-left: 0;
  }
  #shopinfo .set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 48px;
  }
  #shopinfo .set .gr1 {
    width: calc(100% - 620px);
    max-width: 562px;
    padding: 0 41px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #shopinfo .set .gr2 {
    width: 620px;
    margin-top: 20px;
    padding-right: 30px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

#gmap {
  padding: 20vw 0 15vw;
}
#gmap h3.ttl {
  font-size: 4.5vw;
  line-height: 2;
  letter-spacing: 0.12em;
}
#gmap .map {
  height: 480px;
}
#gmap .map iframe {
  width: 100%;
  height: 100%;
}
#gmap .set {
  margin-top: 5vw;
}
@media screen and (min-width: 768px) {
  #gmap {
    padding: 105px 0 110px;
  }
  #gmap .wrap {
    width: 860px;
  }
  #gmap h3.ttl {
    font-size: 20px;
    line-height: 36px;
  }
  #gmap .map {
    height: 400px;
  }
  #gmap .btn-map a {
    width: 160px;
    display: inline-block;
    padding: 3px 30px 5px 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 1px solid;
    line-height: 30px;
    position: relative;
    z-index: 0;
  }
  #gmap .btn-map a:hover {
    background: #bca57f;
    border-color: #bca57f;
    color: #fff;
    text-decoration: none;
  }
  #gmap .btn-map a:hover::after {
    -webkit-filter: brightness(0%) invert(1);
            filter: brightness(0%) invert(1);
  }
  #gmap .btn-map a::after {
    content: "";
    width: 10px;
    height: 100%;
    display: block;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 21 17'%3E%3Cpath fill-rule='evenodd' fill='rgb(71,46,5)' d='M20.096,8.149 L10.944,16.158 L10.944,0.141 L20.096,8.149 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(71,46,5)' d='M0.604,7.006 L12.044,7.006 L12.044,9.294 L0.604,9.294 L0.604,7.006 Z'/%3E%3C/svg%3E") center/contain no-repeat;
    position: absolute;
    top: 0;
    right: 21px;
    z-index: -1;
  }
  #gmap .btn-print {
    margin-top: 3px;
  }
  #gmap .btn-print a {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-underline-offset: 5px;
  }
  #gmap .set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 25px;
  }
  #gmap .set .gr2 {
    margin-top: 7px;
    padding: 0 7px;
    text-align: center;
  }
}

#news .wrap {
  padding-top: 15vw;
  padding-bottom: 15vw;
  border-top: 1px solid rgba(71, 46, 5, 0.3);
  border-bottom: 1px solid rgba(71, 46, 5, 0.3);
}
#news h2.ttl {
  font-size: 9vw;
  line-height: 1.1;
  letter-spacing: 0;
}
#news .rss {
  font-size: 12px;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
#news .rss + .rss {
  margin-top: 5vw;
}
#news .rss .rss__date {
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.05em;
}
#news #feed {
  margin-top: 5vw;
}
#news .btn-more {
  margin-top: 10vw;
  text-align: center;
}
#news .btn-more a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 5vw;
     -moz-column-gap: 5vw;
          column-gap: 5vw;
  padding: 0 10px;
  border-bottom: 1px solid;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
}
#news .btn-more a:hover {
  text-decoration: none;
}
#news .btn-more a::after {
  content: "";
  width: 9px;
  height: 9px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 21 17'%3E%3Cpath fill-rule='evenodd' fill='rgb(0,0,0)' d='M20.096,8.149 L10.944,16.158 L10.944,0.141 L20.096,8.149 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(0,0,0)' d='M0.604,7.006 L12.044,7.006 L12.044,9.294 L0.604,9.294 L0.604,7.006 Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  #news .rss {
    display: grid;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    grid-template-columns: 50% 45%;
    -webkit-column-gap: 5%;
       -moz-column-gap: 5%;
            column-gap: 5%;
  }
  #news .rss .rss__img {
    grid-area: 1/1/3/2;
  }
  #news .rss .rss__img span {
    width: 100% !important;
    height: auto !important;
    min-height: 100px;
  }
}
@media screen and (min-width: 768px) {
  #news .wrap {
    padding: 39px 0 43px;
  }
  #news h2.ttl {
    color: #251801;
    font-size: 40px;
  }
  #news .rss {
    width: 230px;
    font-size: 16px;
    line-height: 30px;
  }
  #news .rss + .rss {
    margin-top: 0;
  }
  #news .rss .rss__ttl {
    margin-top: 13px;
  }
  #news .rss .rss__date {
    font-size: 14px;
  }
  #news .rss .rss__img {
    margin-top: 6px;
  }
  #news .rss .rss__img:hover {
    opacity: 0.7;
  }
  #news #feed {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 80px;
       -moz-column-gap: 80px;
            column-gap: 80px;
    margin-top: 0;
  }
  #news .btn-more {
    margin-top: 0;
    text-align: left;
  }
  #news .btn-more a {
    -webkit-column-gap: 14px;
       -moz-column-gap: 14px;
            column-gap: 14px;
    padding: 0 7px;
    font-size: 16px;
transition:all 0.5s;
  }
  #news .btn-more a:hover {
    background: #bca57f;
    border-bottom-color: #bca57f;
    color: #fff;
    transition:all 0.5s;
  }
  #news .btn-more a:hover::after {
    -webkit-filter: brightness(0%) invert(1);
            filter: brightness(0%) invert(1);
  }
  #news .set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #news .set .gr1 {
    -ms-flex-item-align: center;
        align-self: center;
    width: 230px;
    padding: 0 30px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #news .set .gr2 {
    width: 540px;
  }
  #news .set .gr3 {
    -ms-flex-item-align: end;
        align-self: flex-end;
    margin-left: auto;
    padding: 0 30px 6px;
  }
}

#sec7 {
  padding: 15vw 0;
}
#sec7 h2.ttl {
  font-size: 5vw;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
#sec7 h2.ttl .en {
  margin-right: 6px;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 12vw;
  line-height: 1.1;
  letter-spacing: 0;
}
#sec7 .qna {
  background: #fff;
  border-radius: 10px;
}
#sec7 .qna + .qna {
  margin-top: 20px;
}
#sec7 .qna .question, #sec7 .qna .answer {
  padding: 19px 34px 19px 41px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
#sec7 .qna .question::before, #sec7 .qna .answer::before {
  content: "";
  display: block;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.12em;
  position: absolute;
  top: 22px;
  left: 15px;
}
#sec7 .qna .question {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 15px;
  line-height: 1.5333333333;
  letter-spacing: 0.12em;
}
#sec7 .qna .question::before {
  content: "Q.";
}
#sec7 .qna .answer {
  border-top: 1px solid rgba(71, 46, 5, 0.3);
  line-height: 1.8928571429;
}
#sec7 .qna .answer::before {
  content: "A.";
}
#sec7 .qna .answer .ttl {
  margin-bottom: 4px;
  -webkit-column-gap: 7px;
     -moz-column-gap: 7px;
          column-gap: 7px;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
#sec7 .qna .answer .ttl ~ .ttl {
  margin-top: 7vw;
}
#sec7 .qna .answer dl {
  letter-spacing: 0.05em;
}
#sec7 .qna .answer dl + dl {
  margin-top: 10px;
}
#sec7 .qna .answer dl dt {
  font-weight: 700;
}
#sec7 .qna .answer dl dd {
  margin-top: -3px;
}
#sec7 .qna .contactbox {
  margin-top: 5vw;
  text-align: center;
}
#sec7 .qna .contactbox .tel dt {
  color: #4e4449;
  font-weight: 400;
}
#sec7 .qna .contactbox .btn-reserve {
  margin-top: 5vw;
}
#sec7 .toggle .toggle-link {
  position: relative;
}
#sec7 .toggle .toggle-link::after {
  content: "";
  width: 15px;
  height: 100%;
  display: block;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 20 21'%3E%3Cpath fill-rule='evenodd' fill='rgb(78, 53, 24)' d='M0.000,11.000 L0.000,10.000 L19.1000,10.000 L19.1000,11.000 L0.000,11.000 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(78, 53, 24)' d='M9.500,0.500 L10.500,0.500 L10.500,20.500 L9.500,20.500 L9.500,0.500 Z'/%3E%3C/svg%3E") center/contain no-repeat;
  position: absolute;
  top: 0;
  right: 15px;
}
#sec7 .toggle.active .toggle-link::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 20 21'%3E%3Cpath fill-rule='evenodd' fill='rgb(78, 53, 24)' d='M0.000,11.000 L0.000,10.000 L19.1000,10.000 L19.1000,11.000 L0.000,11.000 Z'/%3E%3C/svg%3E");
}
#sec7 .set {
  margin: 5vw -4vw 0;
}
@media screen and (min-width: 768px) {
  #sec7 {
    padding: 135px 0 173px;
  }
  #sec7 h2.ttl {
    font-size: 28px;
    line-height: 54px;
  }
  #sec7 h2.ttl .en {
    margin-right: 16px;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 70px;
  }
  #sec7 h2.ttl .jp {
    display: inline-block;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  #sec7 .qna {
    padding: 0 50px;
    border-radius: 20px;
  }
  #sec7 .qna .question::before, #sec7 .qna .answer::before {
    font-size: 23px;
    top: 27px;
    left: 30px;
  }
  #sec7 .qna .question {
    padding: 17px 110px 13px 79px;
    font-size: 20px;
    line-height: 54px;
  }
  #sec7 .qna .question:hover {
    opacity: 0.7;
  }
  #sec7 .qna .answer {
    padding: 21px 50px 21px 81px;
    line-height: 36px;
    letter-spacing: 0.12em;
  }
  #sec7 .qna .answer .ttl {
    font-size: 22px;
    line-height: 34px;
  }
  #sec7 .qna .answer .ttl ~ .ttl {
    margin-top: 11px;
  }
  #sec7 .qna .contactbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 33px;
       -moz-column-gap: 33px;
            column-gap: 33px;
    margin-top: 14px;
  }
  #sec7 .qna .contactbox .btn-reserve {
    width: 220px;
    margin-top: 0;
  }
  #sec7 .toggle .toggle-link::after {
    width: 22px;
    right: 22px;
  }
  #sec7 .set {
    margin: 42px 0 0;
  }
}