﻿.sec--anxiety {
  padding: 7.3333333333vw 0 8vw 0;
  background-color: #bedce3
}

.sec--anxiety:after {
  content: "";
  position: absolute;
  top: 9.3333333333vw;
  left: 3.3333333333vw;
  display: inline-block;
  width: 23.6vw;
  height: 11.4666666667vw;
  background-image: url(../img/anxiety/character.svg);
  background-size: contain;
  transform: rotate(-4.75deg);
  z-index: 1
}

.anxiety-box {
  position: relative;
  margin: 0 auto;
  padding: 17.3333333333vw 2.6666666667vw 5.3333333333vw 2.6666666667vw;
  width: 86.6666666667vw;
  z-index: 1
}

.anxiety-box:before, .anxiety-box:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.anxiety-box:before {
  background-color: #afc0c3;
  transform: rotate(1deg);
  z-index: -2
}

.anxiety-box:after {
  background-color: #fff;
  transform: rotate(-1deg);
  z-index: -1
}

.anxiety-ttl {
  position: relative;
  margin-bottom: 6.6666666667vw;
  width: 80.9333333333vw;
  z-index: 1
}

.anxiety-ttl:before, .anxiety-ttl:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  aspect-ratio: 620/595;
}

.anxiety-ttl:before {
  top: -25.3333333333vw;
  left: 32vw;
  width: 14.8vw;
  height: 22.5333333333vw;
  background-image: url(../img/anxiety/balloon_sp.png)
}

.anxiety-ttl:after {
  top: -17.4666666667vw;
  right: -4.4vw;
  width: auto;
  height: 38.8vw;
  background-image: url(../img/anxiety/staff_sp.png);
  z-index: -1
}

.anxiety-frame {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding: 6.6666666667vw 4vw 4vw 4vw;
  width: 66.6666666667vw;
  background-color: #fff;
  border-color: #5b9fac;
  border-style: solid;
  border-width: .5333333333vw;
  border-radius: 1.3333333333vw
}

.anxiety-frame-head {
  position: absolute;
  top: -5.3333333333vw;
  left: 50%;
  width: 69.0666666667vw;
  transform: translateX(-50%);
  z-index: 1
}

.anxiety-element>ul:nth-child(n+2) {
  margin-top: 2.6666666667vw
}

.anxiety-element ul>li {
  position: relative;
  padding-left: 5.3333333333vw;
  font-size: 3.2vw;
  line-height: 1.2em;
  letter-spacing: .05em
}

.anxiety-element ul>li:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  margin-top: -0.15em;
  width: 1.6vw;
  height: 1.6vw;
  background-color: #c0d5d9;
  border-radius: 50%;
  transform: translateY(-50%)
}

.anxiety-element ul>li:nth-child(n+2) {
  margin-top: 2.6666666667vw
}

.anxiety-text {
  position: relative;
  margin: 4vw auto 0 auto;
  width: 87.6vw
}

.anxiety-text:before {
  content: "";
  position: absolute;
  top: -8vw;
  left: 60vw;
  display: inline-block;
  width: 3.8666666667vw;
  height: 10.2666666667vw;
  background-image: url(../img/anxiety/arrow.svg);
  background-size: contain;
  z-index: 1
}

@media screen and (min-width: 751px) {
  .sec--anxiety {
    padding: 4.5138888889vw 0 4.1666666667vw 0
  }

  .sec--anxiety:after {
    top: 3.8194444444vw;
    left: -.6944444444vw;
    width: 7.9166666667vw;
    height: 3.8194444444vw
  }

  .anxiety-box {
    padding: 3.4722222222vw 1.7361111111vw 2.0833333333vw 1.7361111111vw;
    width: 42.0138888889vw
  }

  .anxiety-ttl {
    margin-bottom: 2.0833333333vw;
    width: 30.7638888889vw
  }

  .anxiety-ttl:before {
    top: -9.7222222222vw;
    left: 17.0138888889vw;
    width: 5.7638888889vw;
    height: 8.75vw;
    background-image: url(../img/anxiety/balloon.png);
    background-image: image-set(url(../img/anxiety/balloon.png) 1x, url(../img/anxiety/balloon-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/anxiety/balloon.png) 1x, url(../img/anxiety/balloon-2x.png) 2x)
  }

  .anxiety-ttl:after {
    top: -4.6527777778vw;
    right: -9.375vw;
    width: auto;
    height: 17.3611111111vw;
    background-image: url(../img/anxiety/staff.png);
    background-image: image-set(url(../img/anxiety/staff.png) 1x, url(../img/anxiety/staff-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/anxiety/staff.png) 1x, url(../img/anxiety/staff-2x.png) 2x)
  }

  .anxiety-frame {
    padding: 3.4722222222vw 2.4305555556vw 1.7361111111vw 2.4305555556vw;
    width: 36.8055555556vw;
    border-width: .2083333333vw;
    border-radius: .6944444444vw
  }

  .anxiety-frame-head {
    top: -1.3888888889vw;
    width: 25.625vw
  }

  .anxiety-catch {
    display: inline-block;
    margin-bottom: 2.0833333333vw
  }

  .anxiety-catch p {
    font-size: 1.4583333333vw
  }

  .anxiety-element {
    display: flex;
    justify-content: space-between
  }

  .anxiety-element>ul:nth-child(n+2) {
    margin: 0 0 0 1.7361111111vw
  }

  .anxiety-element>ul li {
    padding-left: 1.0416666667vw;
    font-size: 1.25vw
  }

  .anxiety-element>ul li:before {
    width: .4166666667vw;
    height: .4166666667vw
  }

  .anxiety-element ul>li:nth-child(n+2) {
    margin-top: .6em
  }

  .anxiety-text {
    margin-top: 1.7361111111vw;
    width: 41.6666666667vw
  }

  .anxiety-text:before {
    top: -5.2083333333vw;
    left: 23.6111111111vw;
    width: 2.0138888889vw;
    height: 5.3472222222vw
  }
}

@media screen and (min-width: 1441px) {
  .sec--anxiety {
    padding: 65px 0 60px 0
  }

  .sec--anxiety:after {
    top: 55px;
    left: -10px;
    width: 114px;
    height: 55px
  }

  .anxiety-box {
    padding: 50px 25px 30px 25px;
    width: 605px
  }

  .anxiety-ttl {
    margin-bottom: 30px;
    width: 443px
  }

  .anxiety-ttl:before {
    top: -140px;
    left: 245px;
    width: 83px;
    height: 126px
  }

  .anxiety-ttl:after {
    top: -67px;
    right: -135px;
    width: auto;
    height: 250px
  }

  .anxiety-frame {
    padding: 50px 35px 25px 35px;
    width: 530px;
    border-width: 3px;
    border-radius: 10px
  }

  .anxiety-frame-head {
    top: -20px;
    width: 369px
  }

  .anxiety-element>ul:nth-child(n+2) {
    margin-left: 25px
  }

  .anxiety-element ul>li {
    padding-left: 15px;
    font-size: 18px;
    font-size: 1.8rem
  }

  .anxiety-element ul>li:before {
    width: 6px;
    height: 6px
  }

  .anxiety-text {
    margin-top: 25px;
    width: 600px
  }

  .anxiety-text:before {
    top: -75px;
    left: 340px;
    width: 29px;
    height: 77px
  }
}

.sec--guarantee {
  padding: 9.3333333333vw 0 10.6666666667vw 0;
  background-color: #f1f1f1
}

.guarantee {
  position: relative
}

.guarantee-catch {
  margin-bottom: .5em;
  color: #074069;
  font-size: 3.7333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.75em
}

.guarantee-ttl {
  position: relative;
  margin: 0 auto 4.6666666667vw auto;
  width: 85.3333333333vw;
  color: #074069;
  font-size: 7.7333333333vw;
  font-weight: 700;
  text-align: center
}

.guarantee-ttl:before, .guarantee-ttl:after {
  content: "";
  position: absolute;
  bottom: -0.2em;
  display: inline-block;
  width: 5.4666666667vw;
  height: 12.4vw;
  background-image: url(../img/guarantee/slash.svg);
  background-size: contain
}

.guarantee-ttl:before {
  left: 0;
  transform: rotateY(180deg)
}

.guarantee-ttl:after {
  right: 0
}

.guarantee-ttl span.frame {
  display: inline-block;
  margin-right: .1em;
  padding: .3em .2em 0 .2em;
  background-color: #fff
}

.guarantee-ttl span.num {
  font-size: 10.6666666667vw
}

.guarantee-image {
  margin: 0 auto 5.3333333333vw auto;
  width: 85.3333333333vw
}

.guarantee-btn {
  position: relative;
  margin: 0 auto;
  width: 72vw
}

.guarantee-btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: .2em;
  height: 13.3333333333vw;
  background-color: #fff;
  border-color: #074069;
  border-style: solid;
  border-width: .8vw;
  border-radius: 6.6666666667vw
}

.guarantee-btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.3333333333vw;
  display: inline-block;
  width: 4vw;
  height: 4vw;
  background-image: url(../img/guarantee/arrow.svg);
  background-size: contain;
  transform: translateY(-50%)
}

.guarantee-btn a span {
  color: #074069;
  font-size: 3.7333333333vw;
  font-weight: 700
}

@media screen and (min-width: 751px) {
  .sec--guarantee {
    padding: 4.8611111111vw 0 5.5555555556vw 0
  }

  .guarantee-catch {
    font-size: 1.6666666667vw
  }

  .guarantee-ttl {
    margin-bottom: 2.4305555556vw;
    width: 40.2777777778vw;
    font-size: 3.6111111111vw
  }

  .guarantee-ttl:before, .guarantee-ttl:after {
    width: 2.5694444444vw;
    height: 5.9027777778vw
  }

  .guarantee-ttl span.num {
    font-size: 5vw
  }

  .guarantee-image {
    margin-bottom: 2.7777777778vw;
    width: 38.1944444444vw
  }

  .guarantee-btn {
    width: 33.3333333333vw
  }

  .guarantee-btn a {
    height: 6.25vw;
    border-width: .4166666667vw;
    border-radius: 3.125vw;
    transition: background-color .3s
  }

  .guarantee-btn a:after {
    right: 2.0833333333vw;
    width: 1.9444444444vw;
    height: 1.9444444444vw
  }

  .guarantee-btn a span {
    font-size: 1.6666666667vw;
    transition: color .3s
  }

  .guarantee-btn a:hover {
    background-color: #074069
  }

  .guarantee-btn a:hover span {
    color: #ededed
  }
}

@media screen and (min-width: 1441px) {
  .sec--guarantee {
    padding: 70px 0 80px 0
  }

  .guarantee-catch {
    font-size: 24px;
    font-size: 2.4rem
  }

  .guarantee-ttl {
    margin-bottom: 35px;
    width: 580px;
    font-size: 52px;
    font-size: 5.2rem
  }

  .guarantee-ttl:before, .guarantee-ttl:after {
    width: 37px;
    height: 85px
  }

  .guarantee-ttl span.num {
    font-size: 72px;
    font-size: 7.2rem
  }

  .guarantee-image {
    margin-bottom: 40px;
    width: 550px
  }

  .guarantee-btn {
    width: 480px
  }

  .guarantee-btn a {
    height: 90px;
    border-width: 6px;
    border-radius: 45px
  }

  .guarantee-btn a:after {
    right: 30px;
    width: 28px;
    height: 28px
  }

  .guarantee-btn a span {
    font-size: 24px;
    font-size: 2.4rem
  }
}

.sec--hero {
  position: relative;
  padding-bottom: 6.6666666667vw;
  background-color: #f6f6ea
}

.sec--hero:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.3333333333vw;
  height: 100%;
  background-color: #241c15
}

.hero {
  position: relative;
  margin: 0 auto;
  padding: 33.3333333333vw 0 26vw 0;
  width: 90.6666666667vw;
  height: 105.3333333333vw;
  overflow: hidden
}

.hero:before, .hero:after {
  content: "";
  position: absolute;
  left: 50%;
  width: 90.6666666667vw;
  background-size: contain;
  transform: translateX(-50%)
}

.hero:before {
  top: 0;
  height: 34.6666666667vw;
  background-image: url(../img/hero/image01_sp.jpg)
}

#hero.hero--shop .hero::before,
#hero.hero--shop .hero::after {
  background-size: cover;
}
#hero.hero--izumi .hero:before {
  background-image: url(../img/hero/hero-izumi.jpg);
}
#hero.hero--izumi .hero:after {
  background-image: url(../img/hero/hero-izumi2.jpg);
}
#hero.hero--sayama .hero:before {
  background-image: url(../img/hero/hero-sayama.jpg);
}
#hero.hero--sayama .hero:after {
  background-image: url(../img/hero/hero-sayama2.jpg);
}
#hero.hero--fujiidera .hero:before {
  background-image: url(../img/hero/hero-fujiidera.jpg);
}
#hero.hero--fujiidera .hero:after {
  background-image: url(../img/hero/hero-fujiidera2.jpg);
}
#hero.hero--iwade .hero:before {
  background-image: url(../img/hero/hero-iwade.jpg);
}
#hero.hero--iwade .hero:after {
  background-image: url(../img/hero/hero-iwade2.jpg);
}
#hero.hero--kaizuka .hero:before {
  background-image: url(../img/hero/hero-kaizuka.jpg);
}
#hero.hero--kaizuka .hero:after {
  background-image: url(../img/hero/hero-kaizuka2.jpg);
}

.hero:after {
  bottom: 0;
  height: 29.0666666667vw;
  background-image: url(../img/hero/image02_sp.jpg)
}

.hero-box {
  position: relative;
  text-align: center;
  z-index: 1
}

.hero-box:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 57.8666666667vw;
  background-image: url(../img/hero/frame_sp.svg);
  background-size: contain;
  transform: translate(-50%, -50%);
  z-index: -1
}

.hero-visitor {
  position: relative;
  top: -4vw;
  margin: 0 auto -4vw auto;
  width: 86.2666666667vw;
  -webkit-animation: expansion .8s;
  animation: expansion .8s
}

.hero-ttl {
  margin: 0 auto;
  width: 89.0666666667vw
}

.hero-catch {
  display: inline-block;
  margin-top: 2vw;
  padding: .3em .5em .2em .6em;
  background-color: #241c15;
  border-radius: 1.3333333333vw;
  color: #fff;
  font-size: 3.0666666667vw;
  font-weight: 700
}

.hero-btn {
  position: relative;
  margin: 3.3333333333vw auto 0 auto;
  width: 76vw
}

.hero-btn:after {
  content: "";
  position: absolute;
  top: -4vw;
  right: -4.6666666667vw;
  width: 19.8666666667vw;
  height: 10.8vw;
  background-image: url(../img/hero/click.png);
  background-size: contain
}

.hero-btn-balloon {
  position: absolute;
  top: -5.3333333333vw;
  left: 50%;
  width: 43.7333333333vw;
  animation: fuwafuwa 3s infinite;
  z-index: 2
}

@media screen and (min-width: 751px) {
  .sec--hero {
    padding: 1.0416666667vw 0 3.4722222222vw 0
  }

  .sec--hero:before {
    width: .4861111111vw
  }

  .hero {
    padding: 17.3611111111vw 0 14.5833333333vw 0;
    width: 41.6666666667vw;
    height: 54.8611111111vw
  }

  .hero:before, .hero:after {
    width: 41.6666666667vw
  }

  .hero:before {
    height: 18.0555555556vw;
    background-image: url(../img/hero/image01.jpg);
    background-image: image-set(url(../img/hero/image01.jpg) 1x, url(../img/hero/image01-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/hero/image01.jpg) 1x, url(../img/hero/image01-2x.jpg) 2x)
  }

  .hero:after {
    height: 15.1388888889vw;
    background-image: url(../img/hero/image02.jpg);
    background-image: image-set(url(../img/hero/image02.jpg) 1x, url(../img/hero/image02-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/hero/image02.jpg) 1x, url(../img/hero/image02-2x.jpg) 2x)
  }

  .hero-box:before {
    width: 58.6805555556vw;
    height: 30.1388888889vw;
    background-image: url(../img/hero/frame.svg)
  }

  .hero-visitor {
    top: -1.0416666667vw;
    margin-bottom: -1.0416666667vw;
    width: 39.9305555556vw
  }

  .hero-ttl {
    width: 41.3194444444vw
  }

  .hero-catch {
    margin-top: 1.0416666667vw;
    border-radius: .6944444444vw;
    font-size: 1.4583333333vw
  }

  .hero-btn {
    margin: 2.4305555556vw auto 0 auto;
    width: 38.8888888889vw
  }

  .hero-btn:after {
    top: 2.0833333333vw;
    right: -11.4583333333vw;
    width: 10.3472222222vw;
    height: 5.625vw;
    background-image: url(../img/hero/click.png);
    background-image: image-set(url(../img/hero/click.png) 1x, url(../img/hero/click-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/hero/click.png) 1x, url(../img/hero/click-2x.png) 2x);
    z-index: 3
  }

  .hero-btn-balloon {
    top: -5.5555555556vw;
    width: 22.8472222222vw
  }
}

@media screen and (min-width: 1441px) {
  .sec--hero {
    padding: 15px 0 50px 0
  }

  .sec--hero:before {
    width: 7px
  }

  .hero {
    padding: 250px 0 210px 0;
    width: 600px;
    height: 790px
  }

  .hero:before, .hero:after {
    width: 600px
  }

  .hero:before {
    height: 260px
  }

  .hero:after {
    height: 218px
  }

  .hero-box:before {
    width: 845px;
    height: 434px
  }

  .hero-visitor {
    top: -15px;
    margin-bottom: -15px;
    width: 575px
  }

  .hero-ttl {
    width: 595px
  }

  .hero-catch {
    margin-top: 15px;
    border-radius: 10px;
    font-size: 21px;
    font-size: 2.1rem
  }

  .hero-btn {
    margin: 35px auto 0 auto;
    width: 560px
  }

  .hero-btn:after {
    top: 30px;
    right: -165px;
    width: 149px;
    height: 81px
  }

  .hero-btn-balloon {
    top: -80px;
    width: 329px
  }
}

.sec--ideal {
  padding-top: 24vw;
  background-color: #faf168
}

.ideal {
  position: relative;
  margin-left: auto;
  padding: 53.3333333333vw 5.3333333333vw 52vw 5.3333333333vw;
  width: 93.3333333333vw;
  background-color: #fff
}

.ideal-ttl {
  position: absolute;
  top: -8vw;
  left: 3.7333333333vw;
  width: 15.6vw;
  z-index: 1
}

.ideal-en {
  position: absolute;
  top: -19.3333333333vw;
  left: 0;
  color: #fff;
  font-family: "Damion", cursive;
  font-size: 9.6vw;
  letter-spacing: 0;
  transform: rotate(-3deg);
  z-index: 1
}

.ideal-image {
  position: absolute;
  top: -16vw;
  right: 0;
  width: 80vw
}

.ideal-sub01 {
  position: absolute;
  left: 5.7333333333vw;
  bottom: 5.3333333333vw;
  width: 24.2666666667vw
}

.ideal-sub02 {
  position: absolute;
  right: 5.3333333333vw;
  bottom: 9.3333333333vw;
  width: 53.7333333333vw
}

@media screen and (min-width: 751px) {
  .sec--ideal {
    padding-top: 11.8055555556vw
  }

  .ideal {
    padding: 22.9166666667vw 3.4722222222vw 22.9166666667vw 3.4722222222vw;
    width: 42.0833333333vw
  }

  .ideal-ttl {
    top: -3.125vw;
    left: 1.9444444444vw;
    width: 7.7083333333vw
  }

  .ideal-en {
    top: -9.7222222222vw;
    left: -0.3em;
    font-size: 5vw
  }

  .ideal-image {
    top: -9.0277777778vw;
    width: 35.4166666667vw
  }

  .ideal-sub01 {
    left: 1.7361111111vw;
    bottom: 1.3888888889vw;
    width: 11.8055555556vw
  }

  .ideal-sub02 {
    right: 0;
    bottom: 3.4722222222vw;
    width: 26.3888888889vw
  }
}

@media screen and (min-width: 1441px) {
  .sec--ideal {
    padding-top: 170px
  }

  .ideal {
    padding: 330px 50px 330px 50px;
    width: 606px
  }

  .ideal-ttl {
    top: -45px;
    left: 28px;
    width: 111px
  }

  .ideal-en {
    top: -140px;
    font-size: 72px;
    font-size: 7.2rem
  }

  .ideal-image {
    top: -130px;
    width: 510px
  }

  .ideal-sub01 {
    left: 25px;
    bottom: 20px;
    width: 170px
  }

  .ideal-sub02 {
    bottom: 50px;
    width: 380px
  }
}

.sec--message {
  padding-bottom: 8vw;
  background-color: #fff
}

.message {
  position: relative
}

.message-catch {
  position: absolute;
  top: 12vw;
  left: 4.6666666667vw;
  font-family: "IBMPlexSansJPTate", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.8em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}

.message-image {
  margin: 0 0 9.3333333333vw auto;
  width: 66.6666666667vw;
  z-index: 1
}

.message-content {
  position: relative;
  margin: 0 auto;
  width: 85.3333333333vw
}

.message-name {
  margin-bottom: 1.5em;
  text-align: right;
  line-height: 1.5em
}

.message-en {
  position: absolute;
  top: -14.6666666667vw;
  left: 0;
  color: #fc661a;
  font-family: "Damion", cursive;
  font-size: 13.3333333333vw;
  letter-spacing: 0;
  transform: rotate(-4deg);
  z-index: 1
}

.message-desc {
  margin: 0 auto;
  width: 80.6666666667vw
}

.message-desc p span {
  position: relative;
  background: linear-gradient(transparent 80%, #fffaac 80%);
  border-radius: .6vw
}

@media screen and (min-width: 751px) {
  .sec--message {
    padding-bottom: 3.4722222222vw
  }

  .message-catch {
    top: 4.8611111111vw;
    left: 3.8194444444vw;
    font-size: 1.4583333333vw
  }

  .message-image {
    margin: 0 0 1.7361111111vw auto;
    width: 28.9583333333vw
  }

  .message-content {
    width: 35.7638888889vw
  }

  .message-en {
    top: -6.25vw;
    left: -2.7777777778vw;
    font-size: 5vw
  }

  .message-desc {
    width: 100%
  }

  .message-desc p span {
    border-radius: .3125vw
  }
}

@media screen and (min-width: 1441px) {
  .sec--message {
    padding-bottom: 50px
  }

  .message-catch {
    top: 70px;
    left: 55px;
    font-size: 21px;
    font-size: 2.1rem
  }

  .message-image {
    margin: 0 0 25px auto;
    width: 417px
  }

  .message-content {
    width: 515px
  }

  .message-en {
    top: -90px;
    left: -40px;
    font-size: 72px;
    font-size: 7.2rem
  }

  .message-desc p span {
    border-radius: 4.5px
  }
}

.sec--shopinfo {
  background-color: #fff;
  padding-bottom: 2em;
}
.shop-info-top {
  display: flex;
    column-gap: 1em;
    margin-bottom: 1em;
    padding-inline: 1em;
    font-size: .9em;
    line-height: 1.5;
}
.shop-info-top-text span {
  font-size: .8em;
}
.shop-info-top > * {
  width: calc(50% - 0.5em);
}
.shop-info-bottom iframe {
  width: 100%;
  height: 280px;

}

.sec--plan {
  padding: 7.3333333333vw 0 8vw 0;
  background-color: #ffe4d6
}

.plan {
  position: relative;
  margin: 0 auto;
  padding: 4.6666666667vw 5.3333333333vw 5.3333333333vw 5.3333333333vw;
  width: 90.6666666667vw;
  background-color: #fff;
  border-radius: 1.3333333333vw
}

.plan:before {
  content: "";
  position: absolute;
  top: -4.6666666667vw;
  left: 50%;
  display: inline-block;
  width: 48.4vw;
  height: 22.8vw;
  background-image: url(../img/plan/circle_sp.svg);
  background-size: contain;
  transform: translateX(-50%)
}

.plan:after {
  content: "";
  position: absolute;
  top: -3.3333333333vw;
  left: -24vw;
  display: inline-block;
  width: 50.5333333333vw;
  height: 52.4vw;
  background-image: url(../img/plan/staff_sp.png);
  background-size: contain
}

.plan-ttl {
  position: relative;
  margin: 0 auto 3.3333333333vw auto;
  padding: 0 12vw 0 22.6666666667vw;
  width: 80vw
}

.plan-ttl:before, .plan-ttl:after {
  content: "";
  position: absolute;
  top: 50%;
  height: .5333333333vw;
  background-color: #241c15;
  transform: translateY(-50%)
}

.plan-ttl:before {
  left: 0;
  width: 10vw
}

.plan-ttl:after {
  right: 0;
  width: 10vw
}

.plan-best {
  position: relative;
  z-index: 1
}

.plan-best>li:nth-child(n+2) {
  margin-top: 5.3333333333vw
}

.plan-best-ttl {
  margin-bottom: 4vw;
  padding: .4em 1em .2em 1em;
  border-radius: 1.3333333333vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0
}

.plan-best-contents {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center
}

.plan-best-image {
  position: relative
}

.plan-best-content {
  padding: 1.3333333333vw 0
}

.plan-best-tsubo {
  position: relative;
  display: inline-block;
  margin-bottom: 2vw;
  padding: .4em .3em .2em .3em;
  border-style: solid;
  border-width: .4vw;
  border-radius: 1.3333333333vw;
  font-size: 3.7333333333vw;
  font-weight: 700;
  letter-spacing: 0
}

.plan-best-tsubo:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  transform: translateY(-50%)
}

.plan-best-taxin {
  position: relative;
  left: .5em;
  margin-top: 1em;
  color: #9b9b9b;
  font-size: 3.2vw;
  text-align: right;
  letter-spacing: 0
}

.plan-best>li:nth-child(1) .plan-best-ttl {
  background-color: #faf168
}

.plan-best>li:nth-child(1) .plan-best-image {
  position: relative;
  width: 45.3333333333vw;
  height: 39.4666666667vw
}

.plan-best>li:nth-child(1) .plan-best-image>div {
  position: absolute;
  top: 0;
  right: 0;
  width: 50.6666666667vw
}

.plan-best>li:nth-child(1) .plan-best-content {
  width: 31.2vw
}

.plan-best>li:nth-child(1) .plan-best-tsubo {
  border-color: #faf168
}

.plan-best>li:nth-child(1) .plan-best-tsubo:after {
  right: 99.99999%;
  border-width: .9333333333vw 4.6666666667vw .9333333333vw 0px;
  border-color: rgba(0, 0, 0, 0) #faf168 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.plan-best>li:nth-child(1) .plan-best-price {
  position: relative
}

.plan-best>li:nth-child(1) .plan-best-price:before {
  content: "";
  position: absolute;
  top: -12vw;
  left: 18vw;
  display: inline-block;
  width: 14.9333333333vw;
  height: 11.3333333333vw;
  background-image: url(../img/plan/best01/deco.svg);
  background-size: contain
}

.plan-best>li:nth-child(2) .plan-best-ttl {
  background-color: #b0dff6
}

.plan-best>li:nth-child(2) .plan-best-image {
  width: 48vw
}

.plan-best>li:nth-child(2) .plan-best-content {
  width: 30.4vw
}

.plan-best>li:nth-child(2) .plan-best-tsubo {
  border-color: #b0dff6
}

.plan-best>li:nth-child(2) .plan-best-tsubo:after {
  left: 99.99999%;
  border-width: .9333333333vw 0px .9333333333vw 4.6666666667vw;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #b0dff6
}

.plan-best>li:nth-child(2) .plan-best-price {
  width: 28.8vw
}

.plan-best>li:nth-child(3) .plan-best-ttl {
  background-color: #c3e396
}

.plan-best>li:nth-child(3) .plan-best-image {
  width: 48vw
}

.plan-best>li:nth-child(3) .plan-best-content {
  width: 30.4vw
}

.plan-best>li:nth-child(3) .plan-best-tsubo {
  border-color: #c3e396
}

.plan-best>li:nth-child(3) .plan-best-tsubo:after {
  right: 99.99999%;
  border-width: .9333333333vw 4.6666666667vw .9333333333vw 0px;
  border-color: rgba(0, 0, 0, 0) #c3e396 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

@media screen and (min-width: 751px) {
  .sec--plan {
    padding: 2.0833333333vw 0 2.7777777778vw 0
  }

  .plan {
    padding: 1.3888888889vw 2.4305555556vw 2.4305555556vw 2.4305555556vw;
    width: 42.0833333333vw;
    border-radius: .6944444444vw
  }

  .plan:before {
    top: -2.7777777778vw;
    width: 22.7083333333vw;
    height: 11.875vw;
    background-image: url(../img/plan/circle.svg)
  }

  .plan:after {
    top: -.9027777778vw;
    left: -9.7222222222vw;
    width: 22.2916666667vw;
    height: 29.6527777778vw;
    background-image: url(../img/plan/staff.png);
    background-image: image-set(url(../img/plan/staff.png) 1x, url(../img/plan/staff-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/plan/staff.png) 1x, url(../img/plan/staff-2x.png) 2x)
  }

  .plan-ttl {
    margin-bottom: 1.3888888889vw;
    padding: 0 7.5694444444vw 0 11.4583333333vw;
    width: 37.5vw
  }

  .plan-ttl:before, .plan-ttl:after {
    height: .2777777778vw
  }

  .plan-ttl:before {
    width: 9.0277777778vw
  }

  .plan-ttl:after {
    width: 6.5972222222vw
  }

  .plan-best>li:nth-child(n+2) {
    margin-top: 2.7777777778vw
  }

  .plan-best-ttl {
    margin-bottom: 1.7361111111vw;
    border-radius: .6944444444vw;
    font-size: 1.6666666667vw
  }

  .plan-best-contents {
    align-items: flex-end
  }

  .plan-best-content {
    padding: .6944444444vw 0
  }

  .plan-best-tsubo {
    margin-bottom: 1.0416666667vw;
    border-width: .2083333333vw;
    border-radius: .6944444444vw;
    font-size: 1.4583333333vw
  }

  .plan-best-taxin {
    font-size: .9722222222vw
  }

  .plan-best>li:nth-child(1) .plan-best-image {
    width: 21.3888888889vw;
    height: 19.4444444444vw
  }

  .plan-best>li:nth-child(1) .plan-best-image>div {
    width: 25vw
  }

  .plan-best>li:nth-child(1) .plan-best-content {
    width: 13.75vw
  }

  .plan-best>li:nth-child(1) .plan-best-tsubo:after {
    border-width: .4861111111vw 2.4305555556vw .4861111111vw 0px
  }

  .plan-best>li:nth-child(1) .plan-best-price:before {
    top: -5.9027777778vw;
    left: 6.9444444444vw;
    width: 7.6388888889vw;
    height: 5.0694444444vw
  }

  .plan-best>li:nth-child(2) .plan-best-image {
    width: 22.2222222222vw
  }

  .plan-best>li:nth-child(2) .plan-best-content {
    width: 12.8472222222vw;
    text-align: right
  }

  .plan-best>li:nth-child(2) .plan-best-tsubo:after {
    border-width: .4861111111vw 0px .4861111111vw 2.4305555556vw
  }

  .plan-best>li:nth-child(2) .plan-best-price {
    width: 10.8333333333vw
  }

  .plan-best>li:nth-child(3) .plan-best-image {
    width: 22.2222222222vw
  }

  .plan-best>li:nth-child(3) .plan-best-content {
    width: 12.8472222222vw
  }

  .plan-best>li:nth-child(3) .plan-best-tsubo:after {
    border-width: .4861111111vw 2.4305555556vw .4861111111vw 0px
  }
}

@media screen and (min-width: 1441px) {
  .sec--plan {
    padding: 30px 0 40px 0
  }

  .plan {
    padding: 20px 35px 35px 35px;
    width: 606px;
    border-radius: 10px
  }

  .plan:before {
    top: -40px;
    width: 327px;
    height: 171px
  }

  .plan:after {
    top: -13px;
    left: -140px;
    width: 321px;
    height: 427px
  }

  .plan-ttl {
    margin-bottom: 20px;
    padding: 0 109px 0 165px;
    width: 540px
  }

  .plan-ttl:before, .plan-ttl:after {
    height: 4px
  }

  .plan-ttl:before {
    width: 130px
  }

  .plan-ttl:after {
    width: 95px
  }

  .plan-best>li:nth-child(n+2) {
    margin-top: 40px
  }

  .plan-best-ttl {
    margin-bottom: 25px;
    border-radius: 10px;
    font-size: 24px;
    font-size: 2.4rem
  }

  .plan-best-content {
    padding: 10px 0
  }

  .plan-best-tsubo {
    margin-bottom: 15px;
    border-width: 3px;
    border-radius: 10px;
    font-size: 21px;
    font-size: 2.1rem
  }

  .plan-best-taxin {
    font-size: 14px;
    font-size: 1.4rem
  }

  .plan-best>li:nth-child(1) .plan-best-image {
    width: 308px;
    height: 280px
  }

  .plan-best>li:nth-child(1) .plan-best-image>div {
    width: 360px
  }

  .plan-best>li:nth-child(1) .plan-best-content {
    width: 198px
  }

  .plan-best>li:nth-child(1) .plan-best-tsubo:after {
    border-width: 7px 35px 7px 0px
  }

  .plan-best>li:nth-child(1) .plan-best-price:before {
    top: -85px;
    left: 100px;
    width: 110px;
    height: 83px
  }

  .plan-best>li:nth-child(2) .plan-best-image {
    width: 320px
  }

  .plan-best>li:nth-child(2) .plan-best-content {
    width: 185px
  }

  .plan-best>li:nth-child(2) .plan-best-tsubo:after {
    border-width: 7px 0px 7px 35px
  }

  .plan-best>li:nth-child(2) .plan-best-price {
    width: 156px
  }

  .plan-best>li:nth-child(3) .plan-best-image {
    width: 320px
  }

  .plan-best>li:nth-child(3) .plan-best-content {
    width: 185px
  }

  .plan-best>li:nth-child(3) .plan-best-tsubo:after {
    border-width: 7px 35px 7px 0px
  }
}

.sec--reason {
  background-color: #fff
}

.reason {
  position: relative;
  margin: 0 auto;
  padding: 10.6666666667vw 0 21.3333333333vw 0;
  width: 96vw;
  background-color: #4abebd
}

.reason:before, .reason:after {
  content: "";
  position: absolute;
  top: 0;
  width: .4vw;
  height: 100%;
  background-color: #241c15
}

.reason:before {
  left: 0
}

.reason:after {
  right: 0
}

.reason-head {
  position: relative;
  margin-bottom: 9.3333333333vw
}

.reason-head:before, .reason-head:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain
}

.reason-head:before {
  top: -4.6666666667vw;
  left: 19.3333333333vw;
  width: 18.9333333333vw;
  height: 19.7333333333vw;
  background-image: url(../img/reason/deco.svg)
}

.reason-head:after {
  top: -4vw;
  right: 4vw;
  width: 21.7333333333vw;
  height: 17.7333333333vw;
  background-image: url(../img/reason/character.svg)
}

.reason-catch {
  margin: 0 auto 2.2666666667vw auto;
  width: 31.0666666667vw
}

.reason-ttl {
  position: relative;
  margin: 0 auto;
  width: 80.9333333333vw;
  z-index: 1
}

.reason-secret {
  position: relative;
  margin: 0 auto;
  width: 85.3333333333vw
}

.reason-secret>li {
  position: relative;
  display: flex
}

.reason-secret-image {
  position: relative
}

.reason-secret-image--ribbon>div:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain
}

.reason-secret-content {
  position: relative;
  display: flex;
  justify-content: center;
  background-color: #fff;
  border-radius: 1.3333333333vw
}

.reason-secret-content:before {
  content: "";
  position: absolute;
  display: inline-block
}

.reason-secret-content--arrow:before {
  width: 0;
  height: 0;
  border-style: solid
}

.reason-secret-content--bar:before {
  background-size: contain;
  z-index: 1
}

.reason-secret-num {
  position: absolute;
  top: -0.6em;
  font-family: "Neonderthaw", cursive;
  font-size: 11.4666666667vw;
  letter-spacing: 0
}

.reason-secret-num--og {
  color: #fc661a
}

.reason-secret-num--ye {
  color: #fff602
}

.reason-secret-ttl {
  position: relative;
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: .1em
}

.reason-secret-ttl--yoko {
  font-size: 3.4666666667vw;
  line-height: 1.55em
}

.reason-secret-ttl--tate {
  font-family: "IBMPlexSansJPTate", sans-serif;
  font-size: 3.7333333333vw;
  line-height: 1.25em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}

.reason-secret--01 {
  justify-content: space-between;
  align-items: flex-start
}

.reason-secret--01 .reason-secret-content {
  padding: 8vw 2vw 2vw 2vw;
  width: 20vw
}

.reason-secret--01 .reason-secret-content:before {
  top: 9.3333333333vw;
  left: 99.99999%;
  border-width: 2.6666666667vw 7.3333333333vw 0px 0px;
  border-color: #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.reason-secret--01 .reason-secret-num {
  left: 50%;
  transform: translateX(-50%)
}

.reason-secret--01 .reason-secret-image {
  width: 61.3333333333vw;
  height: 49.7333333333vw;
  z-index: 1
}

.reason-secret--01 .reason-secret-image>div {
  position: absolute;
  top: -5.3333333333vw;
  left: 0;
  width: 66.6666666667vw;
  height: 55.0666666667vw
}

.reason-secret--01 .reason-secret-image>div:after {
  left: 2.6666666667vw;
  bottom: 2.6666666667vw;
  width: 56vw;
  height: 12.9333333333vw;
  background-image: url(../img/reason/ribbon01_sp.png)
}

.reason-secret--02 {
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 4vw
}

.reason-secret--02 .reason-secret-content {
  padding: 4.6666666667vw 3.3333333333vw 3.3333333333vw 3.3333333333vw;
  width: 41.3333333333vw
}

.reason-secret--02 .reason-secret-content:before {
  left: -9.3333333333vw;
  bottom: 2.6666666667vw;
  width: 10.6666666667vw;
  height: 5.8666666667vw;
  background-image: url(../img/reason/bar02.svg)
}

.reason-secret--02 .reason-secret-num {
  right: .25em
}

.reason-secret--02 .reason-secret-image {
  top: -2vw;
  width: 40vw
}

.reason-secret--03 {
  justify-content: center;
  align-items: flex-start;
  margin: 12vw 0 -16vw 0
}

.reason-secret--03 .reason-secret-content {
  padding: 4.6666666667vw 3.3333333333vw 3.3333333333vw 3.3333333333vw;
  width: 38.6666666667vw
}

.reason-secret--03 .reason-secret-content:before {
  right: -8.6666666667vw;
  bottom: 11.3333333333vw;
  width: 10.2666666667vw;
  height: 3.0666666667vw;
  background-image: url(../img/reason/bar03.svg)
}

.reason-secret--03 .reason-secret-num {
  left: .25em
}

.reason-secret--03 .reason-secret-image {
  top: -16vw;
  margin-left: 6.6666666667vw;
  width: 32vw
}

.reason-secret--04 {
  justify-content: space-between;
  align-items: flex-start;
  margin: 8vw 0 0 0
}

.reason-secret--04 .reason-secret-content {
  padding: 4.6666666667vw 3.3333333333vw 3.3333333333vw 3.3333333333vw;
  width: 20vw;
  text-align: center
}

.reason-secret--04 .reason-secret-content:before {
  top: 9.3333333333vw;
  right: 99.99999%;
  border-width: 0px 7.3333333333vw 2.6666666667vw 0px;
  border-color: rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.reason-secret--04 .reason-secret-num {
  left: 50%;
  transform: translateX(-50%)
}

.reason-secret--04 .reason-secret-image {
  width: 61.3333333333vw;
  height: 47.4666666667vw;
  z-index: 1
}

.reason-secret--04 .reason-secret-image>div {
  position: absolute;
  top: -3.3333333333vw;
  right: 0;
  width: 66.6666666667vw;
  height: 50.8vw
}

.reason-secret--04 .reason-secret-image>div:after {
  left: 4.6666666667vw;
  bottom: -2.6666666667vw;
  width: 53.0666666667vw;
  height: 13.0666666667vw;
  background-image: url(../img/reason/ribbon04_sp.png)
}

.reason-secret--05 {
  justify-content: space-between;
  align-items: flex-start;
  margin: 12vw 0 -9.3333333333vw 0
}

.reason-secret--05 .reason-secret-content {
  padding: 4.6666666667vw 3.3333333333vw 3.3333333333vw 3.3333333333vw;
  width: 37.3333333333vw;
  z-index: 1
}

.reason-secret--05 .reason-secret-content:before {
  top: 8vw;
  right: -6vw;
  width: 8vw;
  height: 3.8666666667vw;
  background-image: url(../img/reason/bar05.svg)
}

.reason-secret--05 .reason-secret-num {
  left: .25em
}

.reason-secret--05 .reason-secret-image {
  top: -9.3333333333vw;
  width: 44vw
}

@media screen and (min-width: 751px) {
  .reason {
    padding: 5.5555555556vw 0 15.9722222222vw 0;
    width: 42.1527777778vw
  }

  .reason:before, .reason:after {
    width: .2083333333vw
  }

  .reason-head {
    margin-bottom: 6.9444444444vw
  }

  .reason-head:before {
    top: -2.0833333333vw;
    left: 7.6388888889vw;
    width: 8.4722222222vw;
    height: 8.8194444444vw
  }

  .reason-head:after {
    top: -.6944444444vw;
    right: 2.4305555556vw;
    width: 8.6805555556vw;
    height: 7.0138888889vw
  }

  .reason-catch {
    margin-bottom: 1.1805555556vw;
    width: 14.0277777778vw
  }

  .reason-ttl {
    width: 39.7222222222vw
  }

  .reason-secret {
    width: 39.5833333333vw
  }

  .reason-secret-content {
    border-radius: .6944444444vw
  }

  .reason-secret-num {
    font-size: 5.9722222222vw
  }

  .reason-secret-ttl--yoko {
    font-size: 1.25vw
  }

  .reason-secret-ttl--tate {
    font-size: 1.4583333333vw
  }

  .reason-secret--01 .reason-secret-content {
    padding: 3.125vw 1.0416666667vw 1.0416666667vw 1.0416666667vw;
    width: 8.125vw
  }

  .reason-secret--01 .reason-secret-content:before {
    top: 1.3888888889vw;
    border-width: 1.3888888889vw 3.8194444444vw 0px 0px
  }

  .reason-secret--01 .reason-secret-image {
    width: 29.5138888889vw;
    height: 20.8333333333vw
  }

  .reason-secret--01 .reason-secret-image>div {
    top: -5.5555555556vw;
    width: 31.9444444444vw;
    height: 26.3888888889vw
  }

  .reason-secret--01 .reason-secret-image>div:after {
    left: 3.8194444444vw;
    bottom: 1.0416666667vw;
    width: 25.8333333333vw;
    height: 6.1111111111vw;
    background-image: url(../img/reason/ribbon01.png);
    background-image: image-set(url(../img/reason/ribbon01.png) 1x, url(../img/reason/ribbon01-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/reason/ribbon01.png) 1x, url(../img/reason/ribbon01-2x.png) 2x)
  }

  .reason-secret--02 {
    margin-top: 3.8194444444vw
  }

  .reason-secret--02 .reason-secret-content {
    padding: 2.4305555556vw 0 1.7361111111vw 0;
    width: 18.0555555556vw
  }

  .reason-secret--02 .reason-secret-content:before {
    left: -4.8611111111vw;
    bottom: 2.4305555556vw;
    width: 5.5555555556vw;
    height: 3.0555555556vw
  }

  .reason-secret--02 .reason-secret-ttl {
    left: .5em
  }

  .reason-secret--02 .reason-secret-image {
    top: -1.7361111111vw;
    width: 18.0555555556vw
  }

  .reason-secret--03 {
    margin: 2.0833333333vw 0 -6.25vw 0
  }

  .reason-secret--03 .reason-secret-content {
    padding: 2.4305555556vw 1.0416666667vw 1.7361111111vw 0;
    width: 18.0555555556vw
  }

  .reason-secret--03 .reason-secret-content:before {
    right: -4.1666666667vw;
    bottom: 4.1666666667vw;
    width: 5.3472222222vw;
    height: 1.5972222222vw
  }

  .reason-secret--03 .reason-secret-image {
    top: -6.25vw;
    margin-left: 3.125vw;
    width: 14.5833333333vw
  }

  .reason-secret--04 {
    margin: 3.8194444444vw 0 -2.4305555556vw 0
  }

  .reason-secret--04 .reason-secret-content {
    padding: 3.125vw 1.0416666667vw 1.7361111111vw 1.0416666667vw;
    width: 7.6388888889vw
  }

  .reason-secret--04 .reason-secret-content:before {
    top: 1.3888888889vw;
    border-width: 0px 3.8194444444vw 1.3888888889vw 0px
  }

  .reason-secret--04 .reason-secret-image {
    width: 30.5555555556vw;
    height: 20.8333333333vw
  }

  .reason-secret--04 .reason-secret-image>div {
    top: -2.4305555556vw;
    width: 31.9444444444vw;
    height: 24.3055555556vw
  }

  .reason-secret--04 .reason-secret-image>div:after {
    left: 2.4305555556vw;
    bottom: -2.0833333333vw;
    width: 23.8194444444vw;
    height: 5.8333333333vw;
    background-image: url(../img/reason/ribbon04.png);
    background-image: image-set(url(../img/reason/ribbon04.png) 1x, url(../img/reason/ribbon04-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/reason/ribbon04.png) 1x, url(../img/reason/ribbon04-2x.png) 2x)
  }

  .reason-secret--05 {
    align-items: center;
    margin-top: 6.25vw
  }

  .reason-secret--05 .reason-secret-content {
    padding: 2.4305555556vw 0 1.7361111111vw 0;
    width: 19.0972222222vw
  }

  .reason-secret--05 .reason-secret-content:before {
    top: -1.0416666667vw;
    right: 0;
    width: 4.1666666667vw;
    height: 2.0138888889vw
  }

  .reason-secret--05 .reason-secret-image {
    top: auto;
    width: 20.4861111111vw;
    height: 15.625vw
  }

  .reason-secret--05 .reason-secret-image>div {
    position: absolute;
    top: 0;
    right: 0;
    width: 22.5694444444vw
  }
}

@media screen and (min-width: 1441px) {
  .reason {
    padding: 80px 0 230px 0;
    width: 607px
  }

  .reason:before, .reason:after {
    width: 3px
  }

  .reason-head {
    margin-bottom: 100px
  }

  .reason-head:before {
    top: -30px;
    left: 110px;
    width: 122px;
    height: 127px
  }

  .reason-head:after {
    top: -10px;
    right: 35px;
    width: 125px;
    height: 101px
  }

  .reason-catch {
    margin-bottom: 17px;
    width: 202px
  }

  .reason-ttl {
    width: 572px
  }

  .reason-secret {
    width: 570px
  }

  .reason-secret-content {
    border-radius: 10px
  }

  .reason-secret-num {
    font-size: 86px;
    font-size: 8.6rem
  }

  .reason-secret-ttl--yoko {
    font-size: 18px;
    font-size: 1.8rem
  }

  .reason-secret-ttl--tate {
    font-size: 21px;
    font-size: 2.1rem
  }

  .reason-secret--01 .reason-secret-content {
    padding: 45px 15px 15px 15px;
    width: 117px
  }

  .reason-secret--01 .reason-secret-content:before {
    top: 20px;
    border-width: 20px 55px 0px 0px
  }

  .reason-secret--01 .reason-secret-image {
    width: 425px;
    height: 300px
  }

  .reason-secret--01 .reason-secret-image>div {
    top: -80px;
    width: 460px;
    height: 380px
  }

  .reason-secret--01 .reason-secret-image>div:after {
    left: 55px;
    bottom: 15px;
    width: 372px;
    height: 88px
  }

  .reason-secret--02 {
    margin-top: 55px
  }

  .reason-secret--02 .reason-secret-content {
    padding: 35px 0 25px 0;
    width: 260px
  }

  .reason-secret--02 .reason-secret-content:before {
    left: -70px;
    bottom: 35px;
    width: 80px;
    height: 44px
  }

  .reason-secret--02 .reason-secret-image {
    top: -25px;
    width: 260px
  }

  .reason-secret--03 {
    margin: 30px 0 -90px 0
  }

  .reason-secret--03 .reason-secret-content {
    padding: 35px 15px 25px 0;
    width: 260px
  }

  .reason-secret--03 .reason-secret-content:before {
    right: -60px;
    bottom: 60px;
    width: 77px;
    height: 23px
  }

  .reason-secret--03 .reason-secret-image {
    top: -90px;
    margin-left: 45px;
    width: 210px
  }

  .reason-secret--04 {
    margin: 55px 0 -35px 0
  }

  .reason-secret--04 .reason-secret-content {
    padding: 45px 15px 25px 15px;
    width: 110px
  }

  .reason-secret--04 .reason-secret-content:before {
    top: 20px;
    border-width: 0px 55px 20px 0px
  }

  .reason-secret--04 .reason-secret-image {
    width: 440px;
    height: 300px
  }

  .reason-secret--04 .reason-secret-image>div {
    top: -35px;
    width: 460px;
    height: 350px
  }

  .reason-secret--04 .reason-secret-image>div:after {
    left: 35px;
    bottom: -30px;
    width: 343px;
    height: 84px
  }

  .reason-secret--05 {
    margin-top: 90px
  }

  .reason-secret--05 .reason-secret-content {
    padding: 35px 0 25px 0;
    width: 275px
  }

  .reason-secret--05 .reason-secret-content:before {
    top: -15px;
    width: 60px;
    height: 29px
  }

  .reason-secret--05 .reason-secret-image {
    width: 295px;
    height: 225px
  }

  .reason-secret--05 .reason-secret-image>div {
    width: 325px
  }
}

.sec--reserve {
  padding: 12.6666666667vw 0 43.3333333333vw 0;
  background-color: #f9f7eb
}

.sub .sec--reserve {
  padding-bottom: 0 !important
}

.reserve {
  margin: 0 auto;
  width: 86.6666666667vw
}

.reserve-ttl {
  margin: 0 0 4vw -1.3333333333vw;
  width: 88vw
}

.reserve-step {
  margin: 0 auto 4vw auto;
  width: 75.4666666667vw;
  background-image: url(../img/reserve/step_sp.png);
  background-size: contain
}

.reserve-desc {
  margin-top: 4vw;
  padding: 0 .7em
}

.reserve-desc p {
  font-size: 3.2vw;
  line-height: 1.5em
}

.reserve-box {
  position: relative;
  margin-top: 3.3333333333vw;
  padding: 3.3333333333vw 4vw 2.6666666667vw 4vw;
  background-color: #fff;
  border-radius: 1.3333333333vw
}

.reserve-tel {
  border-color: #e0dcdc;
  border-style: solid;
  border-width: .2666666667vw;
  border-radius: 1.3333333333vw
}

.reserve-tel a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 3vw 4vw 3vw 0;
}

.reserve-tel a>div {
  text-align: center
}

.reserve-tel-label {
  margin-bottom: .1em;
  color: #12a73b;
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 1.15em;
  letter-spacing: .05em
}

.reserve-tel-num {
  position: relative;
  display: inline-block;
  padding-left: 9.3333333333vw;
  color: #12a73b;
  font-family: "Anton", sans-serif;
  font-size: 7.7333333333vw;
  font-weight: 400;
  letter-spacing: 0
}

.reserve-tel-num:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 7.6vw;
  height: 4.1333333333vw;
  background-image: url(../img/common/freedial.svg);
  background-size: contain;
  transform: translateY(-50%)
}

.reserve-box-desc {
  margin-top: .5em;
  padding: 0 .4em
}

.reserve-box-desc p {
  font-size: 3.2vw;
  line-height: 1.5em
}
.telnormal {
  position: relative;
}
.telnormal:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.9vw;
  display: inline-block;
  width: 5vw;
  height: 6.5vw;
  background-image: url(../img/common/call-gr.svg);
  background-size: contain;
  transform: translateY(-50%)
}
.tel-two {
  text-align: center;
  padding: 4vw 0 1vw;
}
.reserve-tel a.pt-tel-two {
  padding: 0vw 4vw 0vw 0;
  margin-bottom: 3vw;
}

@media screen and (max-width: 750px) {
  .reserve-tel a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.6666666667vw;
    display: inline-block;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    background-image: url(../img/reserve/arrow.svg);
    background-size: contain;
    transform: translateY(-50%)
  }
}

@media screen and (min-width: 751px) {
  .sec--reserve {
    padding: 4.1666666667vw 0 15.2777777778vw 0
  }

  .reserve {
    width: 40.2777777778vw
  }

  .reserve-ttl {
    margin: 0 auto 1.3888888889vw auto;
    width: 39.9305555556vw
  }

  .reserve-step {
    margin-bottom: 2.0833333333vw;
    width: 28.6111111111vw;
    height: 5.0694444444vw;
    background-image: url(../img/reserve/step.png);
    background-image: image-set(url(../img/reserve/step.png) 1x, url(../img/reserve/step-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/reserve/step.png) 1x, url(../img/reserve/step-2x.png) 2x)
  }

  .reserve-desc {
    margin-top: 1.3888888889vw;
    padding: 0 .7em
  }

  .reserve-desc p {
    font-size: 1.25vw;
    line-height: 1.66em
  }

  .reserve-box {
    margin-top: 2.0833333333vw;
    padding: 1.7361111111vw 2.0833333333vw 1.3888888889vw 2.0833333333vw;
    border-radius: .6944444444vw
  }

  .reserve-tel {
    border-width: .0694444444vw;
    border-radius: .6944444444vw;
  }
  .reserve-tel a {
    padding: 1.5vw 0 1vw 0;
    pointer-events: none
  }

  .reserve-tel-label {
    margin-bottom: .5em;
    font-size: 1.1111111111vw;
    line-height: 1em
  }

  .reserve-tel-num {
    padding-left: 3.4722222222vw;
    font-size: 2.9166666667vw
  }

  .reserve-tel-num:before {
    width: 2.8472222222vw;
    height: 1.6666666667vw
  }

  .reserve-box-desc {
    padding: 0 .5em
  }

  .reserve-box-desc p {
    font-size: 1.1111111111vw;
    line-height: 1.75em
  }
  .tel-two {
    padding: 2vw 0 0.5vw;
  }
  .reserve-tel a.pt-tel-two {
    padding: 0;
    margin-bottom: 1vw;
  }
  .telnormal:before {
    left: 0.7vw;
    width: 1.8vw;
    height: 2.6vw;
  }
}

@media screen and (min-width: 1441px) {
  .sec--reserve {
    padding: 60px 0 220px 0
  }

  .reserve {
    width: 580px
  }

  .reserve-ttl {
    margin-bottom: 20px;
    width: 575px
  }

  .reserve-step {
    margin-bottom: 30px;
    width: 412px;
    height: 73px
  }

  .reserve-desc {
    margin-top: 20px
  }

  .reserve-desc p {
    font-size: 18px;
    font-size: 1.8rem
  }

  .reserve-box {
    margin-top: 30px;
    padding: 25px 30px 20px 30px;
    border-radius: 10px
  }

  .reserve-tel {
    border-width: 1px;
    border-radius: 10px
  }
  .reserve-tel a {
    padding: 20px 0 15px 0;
  }

  .reserve-tel-label {
    font-size: 16px;
    font-size: 1.6rem
  }

  .reserve-tel-num {
    padding-left: 50px;
    font-size: 42px;
    font-size: 4.2rem
  }

  .reserve-tel-num:before {
    width: 41px;
    height: 24px
  }

  .reserve-box-desc p {
    font-size: 16px;
    font-size: 1.6rem
  }
  .tel-two {
    padding: 25px 0 5px;
  }
  .reserve-tel a.pt-tel-two {
    padding: 0;
    margin-bottom: 15px;
  }
  .telnormal:before {
    left: 10px;
    width: 27px;
    height: 36px;
  }
}

.form {
  position: relative;
  margin: 0 auto;
  padding: 3.3333333333vw 3.3333333333vw 10.6666666667vw 3.3333333333vw;
  width: 86.6666666667vw;
  background-color: #fff;
  border-color: #241c15;
  border-style: solid;
  border-width: .4vw;
  border-radius: 1.3333333333vw
}

.form-step>div:nth-child(n+2) {
  margin-top: 5.3333333333vw
}

.form-step-ttl {
  margin-bottom: 3.3333333333vw;
  padding: .6em 1em .4em 1em;
  border-radius: 1.3333333333vw;
  color: #fff;
  font-size: 3.7333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em
}

.form-step>div:nth-child(1) .form-step-ttl {
  background-color: #fc941a
}

.form-step>div:nth-child(2) .form-step-ttl {
  background-color: #ff9661
}

.form-block {
  margin: 0 auto;
  width: 100%
}

.form-input {
  position: relative
}

.form-block .form-input:nth-child(n+2) {
  margin-top: 4.6666666667vw;
  padding-top: 4vw
}

.form-block .form-input:nth-child(n+2):before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 1px;
  background-image: url(../img/reserve/border.svg);
  background-size: auto 1px;
  background-repeat: repeat-x
}

.form-input dl:nth-child(n+2) {
  margin-top: 4vw
}

.form-input dt {
  position: relative;
  margin-bottom: .2em;
  color: #241c15;
  font-family: "IBMPlexSansJP", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.5em;
  letter-spacing: .1em
}

.form-input input[type=text], .form-input input[type=email], .form-input input[type=tel], .form-input input[type=date], .form-input select {
  display: flex;
  align-items: center;
  padding: .2em 1em 0 1em;
  width: 100%;
  height: 10.6666666667vw;
  background-color: #f6f6f6;
  border-color: #e2e2e2;
  border-style: solid;
  border-width: 1px;
  border-radius: 1.3333333333vw;
  color: #241c15;
  font-family: "IBMPlexSansJP", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.65em;
  letter-spacing: .1em
}

.form-input-short input[type=text] {
  width: 45.3333333333vw
}

.form-input-middle input[type=text] {
  width: 72vw
}

.form-input textarea {
  padding: .95em 1em .75em 1em;
  width: 100%;
  height: 77.3333333333vw;
  background-color: #f6f6f6;
  border-color: #e2e2e2;
  border-style: solid;
  border-width: 1px;
  border-radius: 1.3333333333vw;
  font-family: "IBMPlexSansJP", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.65em;
  letter-spacing: .1em
}

.form-input-other {
  margin-top: 1em
}

.form-input .wpcf7-validates-as-required:not(.wpcf7-checkbox) {
  background-color: #ffe2e2 !important
}

.form-label {
  position: relative;
  margin-left: .5em;
  font-family: "IBMPlexSansJP", sans-serif;
  font-size: 2.6666666667vw;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .1em
}

.form-label:before {
  content: "【"
}

.form-label:after {
  content: "】"
}

.form-label--req {
  color: #ff3737
}

.form-label--unreq {
  color: #9e9e9e
}

.form-hosoku {
  margin-top: .5em;
  padding-left: 1em;
  color: #8a8a8a;
  font-size: 2.6666666667vw;
  font-weight: 500;
  text-indent: -1em;
  line-height: 1.25em
}

.form-hosoku:before {
  content: "※"
}

.form-desc {
  margin-top: 1em
}

.form-desc p {
  font-size: 3.2vw;
  text-align: center;
  line-height: 1.5em
}

@media screen and (max-width: 750px) {
  .form-input input[type=text], .form-input input[type=email], .form-input input[type=tel], .form-input input[type=date], .form-input select, .form-input textarea {
    font-size: max(3.5vw, 16px)
  }
}

@media screen and (min-width: 751px) {
  .form {
    padding: 1.3888888889vw 1.5277777778vw 3.4722222222vw 1.5277777778vw;
    width: 40.2777777778vw;
    border-radius: .6944444444vw;
    border-width: .2083333333vw
  }

  .form-step>div:nth-child(n+2) {
    margin-top: 2.0833333333vw
  }

  .form-step-ttl {
    margin-bottom: 1.3888888889vw;
    padding: .4em 1em .2em 1em;
    border-radius: .6944444444vw;
    font-size: 1.4583333333vw;
    text-align: left
  }

  .form-block {
    width: 34.0277777778vw
  }

  .form-block .form-input:nth-child(n+2) {
    margin-top: 1.7361111111vw;
    padding-top: 1.3888888889vw
  }

  .form-block .form-input:nth-child(n+2):before {
    height: .0694444444vw;
    background-size: auto .0694444444vw
  }

  .form-input dl:nth-child(n+2) {
    margin-top: 1.3888888889vw
  }

  .form-input dt {
    font-size: 1.25vw
  }

  .form-input input[type=text], .form-input input[type=email], .form-input input[type=tel], .form-input input[type=date], .form-input select {
    height: 3.75vw;
    border-width: .0694444444vw;
    border-radius: .6944444444vw;
    font-size: 1.25vw
  }

  .form-input-short input[type=text] {
    width: 13.8888888889vw
  }

  .form-input-middle input[type=text] {
    width: 23.6111111111vw
  }

  .form-input textarea {
    height: 9.7222222222vw;
    border-width: .0694444444vw;
    border-radius: .6944444444vw;
    font-size: 1.25vw
  }

  .form-label {
    font-size: .9722222222vw
  }

  .form-hosoku {
    font-size: 1.1111111111vw
  }

  .form-desc p {
    font-size: 1.25vw
  }
}

@media screen and (min-width: 1441px) {
  .form {
    padding: 20px 22px 50px 22px;
    width: 580px;
    border-radius: 10px;
    border-width: 3px
  }

  .form-step>div:nth-child(n+2) {
    margin-top: 30px
  }

  .form-step-ttl {
    margin-bottom: 20px;
    border-radius: 10px;
    font-size: 21px;
    font-size: 2.1rem
  }

  .form-block {
    width: 490px
  }

  .form-block .form-input:nth-child(n+2) {
    margin-top: 25px;
    padding-top: 20px
  }

  .form-block .form-input:nth-child(n+2):before {
    height: 1px;
    background-size: auto 1px
  }

  .form-input dl:nth-child(n+2) {
    margin-top: 20px
  }

  .form-input dt {
    font-size: 18px;
    font-size: 1.8rem
  }

  .form-input input[type=text], .form-input input[type=email], .form-input input[type=tel], .form-input input[type=date], .form-input select {
    height: 54px;
    border-width: 1px;
    border-radius: 10px;
    font-size: 18px
  }

  .form-input-short input[type=text] {
    width: 200px
  }

  .form-input-middle input[type=text] {
    width: 340px
  }

  .form-input textarea {
    height: 140px;
    border-width: 1px;
    border-radius: 10px;
    font-size: 18px
  }

  .form-label {
    font-size: 14px;
    font-size: 1.4rem
  }

  .form-hosoku {
    font-size: 16px;
    font-size: 1.6rem
  }

  .form-desc p {
    font-size: 18px;
    font-size: 1.8rem
  }
}

.form-input input::-webkit-input-placeholder, .form-input select::-webkit-input-placeholder, .form-input textarea::-webkit-input-placeholder {
  color: #b8b8b8
}

.form-input input:-ms-input-placeholder, .form-input select:-ms-input-placeholder, .form-input textarea:-ms-input-placeholder, .form-input input::-ms-input-placeholder, .form-input textarea::-ms-input-placeholder {
  color: #b8b8b8
}

.form-input input::-moz-placeholder, .form-input select::-moz-placeholder, .form-input textarea::-moz-placeholder {
  color: #b8b8b8
}

.form-select {
  position: relative
}

.form-select:before {
  content: "";
  position: absolute;
  top: 4.6666666667vw;
  right: 1.3333333333vw;
  display: inline-block;
  width: 2.2666666667vw;
  height: 1.3333333333vw;
  background-image: url(../img/reserve/select.svg);
  background-size: contain;
  pointer-events: none;
  z-index: 1
}

.form-input select {
  padding-right: 2em;
  width: 100%
}

@media screen and (min-width: 751px) {
  .form-select:before {
    top: 1.6319444444vw;
    right: .6944444444vw;
    width: .8333333333vw;
    height: .4861111111vw
  }
}

@media screen and (min-width: 1441px) {
  .form-select:before {
    top: 23.5px;
    right: 10px;
    width: 12px;
    height: 7px
  }
}

.form-date>div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start
}

.form-date-text {
  margin-top: 1.1em;
  font-size: 3.4666666667vw
}

.form-date-calendar {
  width: 65.3333333333vw
}

.form-date-time {
  width: 65.3333333333vw
}

@media screen and (max-width: 750px) {
  .form-date>div:nth-child(n+2) {
    margin-top: .5em
  }
}

@media screen and (min-width: 751px) {
  .form-date {
    display: flex;
    justify-content: space-between;
    align-items: center
  }

  .form-date>div:nth-child(1) {
    width: 17.5vw
  }

  .form-date>div:nth-child(2) {
    width: 15.4166666667vw
  }

  .form-date-text {
    font-size: 1.25vw
  }

  .form-date-calendar {
    width: 14.2361111111vw
  }

  .form-date-time {
    width: 10.7638888889vw
  }
}

@media screen and (min-width: 1441px) {
  .form-date>div:nth-child(1) {
    width: 252px
  }

  .form-date>div:nth-child(2) {
    width: 222px
  }

  .form-date-text {
    font-size: 18px;
    font-size: 1.8rem
  }

  .form-date-calendar {
    width: 205px
  }

  .form-date-time {
    width: 155px
  }
}

.form-input-num .form-select {
  width: 42.6666666667vw
}

@media screen and (min-width: 751px) {
  .form-input-num .form-select {
    width: 12.5vw
  }
}

@media screen and (min-width: 1441px) {
  .form-input-num .form-select {
    width: 180px
  }
}

.form-input .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  margin: 2vw 0 0 -1.3333333333vw;
  width: calc(100% + 1.3333333333vw)
}

.form-input .wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin: 4vw 0 0 1.3333333333vw;
  width: calc(33.33333% - 1.3333333333vw)
}

.form-input .wpcf7-checkbox input[type=checkbox] {
  width: 0;
  height: 0;
  visibility: hidden;
  opacity: 0
}

.form-input input[type=checkbox]+span {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: .2em 0 0 6.4vw;
  min-height: 4.8vw;
  font-size: 3.0666666667vw;
  font-weight: 500;
  line-height: 1.25em;
  letter-spacing: 0;
  cursor: pointer
}

.form-input-checkbox1 {
  display: block !important
}

.form-input-checkbox1 .wpcf7-list-item {
  margin-top: 0;
  width: calc(100% - 1.3333333333vw) !important
}

.form-input-checkbox1 .wpcf7-list-item:nth-child(n+2) {
  margin-top: .5em !important;
  display: block !important
}

.form-input input[type=checkbox]+span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 4.8vw;
  height: 4.8vw;
  background-color: #e8e8e8;
  border-radius: .6666666667vw;
  transform: translateY(-50%)
}

.form-input input[type=checkbox]:checked+span::after {
  content: "";
  position: absolute;
  left: .16em;
  bottom: .26em;
  display: inline-block;
  width: 4.8vw;
  height: 5.0666666667vw;
  background-image: url(../img/reserve/check.svg);
  background-size: contain
}

@media screen and (min-width: 751px) {
  .form-input .wpcf7-checkbox {
    margin: -.6944444444vw 0 0 -1.0416666667vw;
    width: calc(100% + 1.0416666667vw)
  }

  .form-input .wpcf7-checkbox .wpcf7-list-item {
    margin: 1.3888888889vw 0 0 1.0416666667vw;
    width: calc(33.33333% - 1.0416666667vw)
  }

  .form-input input[type=checkbox]+span {
    padding-left: 2.4305555556vw;
    min-height: 1.6666666667vw;
    font-size: 1.25vw;
    letter-spacing: .05em
  }

  .form-input input[type=checkbox]+span::before {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    border-radius: .3472222222vw
  }

  .form-input input[type=checkbox]:checked+span::after {
    width: 1.6666666667vw;
    height: 1.6666666667vw
  }

  .form-input-checkbox1 .wpcf7-list-item {
    width: calc(100% - 1.0416666667vw) !important
  }
}

@media screen and (min-width: 1441px) {
  .form-input .wpcf7-checkbox {
    margin: -10px 0 0 -15px;
    width: calc(100% + 15px)
  }

  .form-input .wpcf7-checkbox .wpcf7-list-item {
    margin: 20px 0 0 15px;
    width: calc(33.33333% - 15px)
  }

  .form-input input[type=checkbox]+span {
    padding-left: 35px;
    min-height: 30px;
    font-size: 18px;
    font-size: 1.8rem
  }

  .form-input input[type=checkbox]+span::before {
    width: 24px;
    height: 24px;
    border-radius: 5px
  }

  .form-input input[type=checkbox]:checked+span::after {
    width: 24px;
    height: 25px
  }

  .form-input-checkbox1 .wpcf7-list-item {
    width: calc(100% - 15px) !important
  }
}

.form-consent {
  margin-top: 5.3333333333vw;
  text-align: center
}

.form-consent p {
  display: inline-block;
  margin-top: 3.3333333333vw;
  font-size: 3.2vw;
  line-height: 1.5em
}

.form-consent p a {
  position: relative;
  color: #0078dd
}

.form-consent p a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1em;
  width: 100%;
  height: .4vw;
  background-color: #0078dd
}

.form-consent .formErrorContent {
  text-align: center
}

.form-consent .wpcf7-checkbox {
  display: block
}

.form-consent .wpcf7-checkbox .wpcf7-list-item {
  margin: 0
}

.form-consent .wpcf7-checkbox input[type=checkbox] {
  width: 0;
  height: 0;
  visibility: hidden;
  opacity: 0
}

.form-consent input[type=checkbox]+span {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: .2em 0 0 7.3333333333vw;
  min-height: 4.8vw;
  font-size: 3.4666666667vw;
  font-weight: 700;
  cursor: pointer
}

.form-consent input[type=checkbox]+span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 4.8vw;
  height: 4.8vw;
  background-color: #e8e8e8;
  border-radius: .6666666667vw;
  transform: translateY(-50%)
}

.form-consent input[type=checkbox]:checked+span::after {
  content: "";
  position: absolute;
  left: .16em;
  bottom: .26em;
  display: inline-block;
  width: 4.8vw;
  height: 5.0666666667vw;
  background-image: url(../img/reserve/check.svg);
  background-size: contain
}

@media screen and (min-width: 751px) {
  .form-consent {
    margin-top: 2.4305555556vw
  }

  .form-consent p {
    margin-top: 1.3888888889vw;
    font-size: 1.25vw
  }

  .form-consent p a {
    transition: color .3s
  }

  .form-consent p a:after {
    height: .1388888889vw;
    transition: background-color .3s
  }

  .form-consent p a:hover {
    color: #b8b8b8
  }

  .form-consent p a:hover:after {
    background-color: #b8b8b8
  }

  .form-consent input[type=checkbox]+span {
    padding-left: 2.7777777778vw;
    min-height: 1.6666666667vw;
    font-size: 1.4583333333vw
  }

  .form-consent input[type=checkbox]+span::before {
    width: 2.0833333333vw;
    height: 2.0833333333vw;
    border-radius: .3472222222vw
  }

  .form-consent input[type=checkbox]:checked+span::after {
    width: 1.6666666667vw;
    height: 1.7361111111vw
  }
}

@media screen and (min-width: 1441px) {
  .form-consent {
    margin-top: 35px
  }

  .form-consent p {
    margin-top: 20px;
    font-size: 18px;
    font-size: 1.8rem
  }

  .form-consent p a:after {
    height: 2px
  }

  .form-consent input[type=checkbox]+span {
    padding-left: 40px;
    height: 24px;
    font-size: 21px;
    font-size: 2.1rem
  }

  .form-consent input[type=checkbox]+span::before {
    width: 24px;
    height: 24px;
    border-radius: 5px
  }

  .form-consent input[type=checkbox]:checked+span::after {
    width: 24px;
    height: 25px
  }
}

.form-btn {
  position: relative;
  display: block;
  margin: 7.3333333333vw auto 0 auto;
  width: 76vw;
  height: 18.6666666667vw;
  cursor: pointer
}

.form-btn:before {
  content: "";
  position: absolute;
  top: -4vw;
  left: 2.6666666667vw;
  display: inline-block;
  width: 10.6666666667vw;
  height: 6.9333333333vw;
  background-image: url(../img/common/eye.svg);
  background-size: contain;
  z-index: 2
}

.form-btn-box {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #ff4800;
  border-color: #241c15;
  border-style: solid;
  border-width: .4vw;
  text-align: center;
  border-radius: 4.1333333333vw;
  box-shadow: 0 1.3333333333vw 0 0 #241c15;
  transform: translateY(-1.3333333333vw);
  overflow: hidden
}

.form-btn-box:before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
  -webkit-animation: shine 1.5s infinite;
  animation: shine 1.5s infinite;
  z-index: 1
}

.form-btn-box>div {
  position: relative;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%
}

.form-btn-box>div:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50%;
  background-color: #e54100
}

.form-btn-box>div:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  display: inline-block;
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  background-image: url(../img/common/arrow.svg);
  background-size: contain;
  transform: translateY(-50%);
  z-index: 2
}

.form-btn-box>div>div {
  position: relative;
  padding-top: 4.6666666667vw;
  z-index: 2
}

.form-btn-catch {
  position: relative;
  display: inline-block;
  padding: 0 4vw;
  color: #fff;
  font-size: 3.4666666667vw;
  font-weight: 700;
  letter-spacing: 0
}

.form-btn-catch:before, .form-btn-catch:after {
  content: "";
  position: absolute;
  top: 0;
  display: inline-block;
  width: 1.7333333333vw;
  height: 3.3333333333vw;
  background-image: url(../img/common/slash.svg);
  background-size: contain
}

.form-btn-catch:before {
  left: 0;
  transform: rotateY(180deg)
}

.form-btn-catch:after {
  right: 0
}

.form-submit {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 6vw !important;
  width: 100%;
  height: 100%;
  color: #fff;
  font-family: "NotoSansJP";
  font-size: 4.8vw;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0;
  z-index: 2
}

@media screen and (min-width: 751px) {
  .form-btn {
    margin-top: 2.7777777778vw;
    width: 35.4166666667vw;
    height: 8.3333333333vw
  }

  .form-btn:before {
    top: -1.875vw;
    left: .6944444444vw;
    width: 4.3055555556vw;
    height: 2.8472222222vw
  }

  .form-btn-box {
    border-width: .2083333333vw;
    border-radius: 2.1527777778vw;
    box-shadow: 0 .6944444444vw 0 0 #241c15;
    transition: .3s all;
    transform: translateY(-0.6944444444vw)
  }

  .form-btn-box>div:after {
    right: 1.0416666667vw;
    width: 1.875vw;
    height: 1.875vw
  }

  .form-btn-box>div>div {
    padding-top: 1.3888888889vw
  }

  .form-btn-catch {
    padding: 0 1.3888888889vw;
    font-size: 1.6666666667vw
  }

  .form-btn-catch:before, .form-btn-catch:after {
    width: .9027777778vw;
    height: 1.7361111111vw
  }

  .form-submit {
    padding-top: 2.4305555556vw !important;
    font-size: 2.5vw
  }

  .form-btn:hover .form-btn-box {
    box-shadow: 0 1px 0 0 #241c15;
    transform: translateY(-1px)
  }
}

@media screen and (min-width: 1441px) {
  .form-btn {
    margin-top: 40px;
    width: 510px;
    height: 120px
  }

  .form-btn:before {
    top: -27px;
    left: 10px;
    width: 62px;
    height: 41px
  }

  .form-btn-box {
    border-width: 3px;
    border-radius: 31px;
    box-shadow: 0 10px 0 0 #241c15;
    transform: translateY(-10px)
  }

  .form-btn-box>div:after {
    right: 15px;
    width: 27px;
    height: 27px
  }

  .form-btn-box>div>div {
    padding-top: 20px
  }

  .form-btn-catch {
    padding: 0 20px;
    font-size: 24px;
    font-size: 2.4rem
  }

  .form-btn-catch:before, .form-btn-catch:after {
    width: 13px;
    height: 25px
  }

  .form-submit {
    padding-top: 35px !important;
    font-size: 36px;
    font-size: 3.6rem
  }
}

div.wpcf7 .ajax-loader, .wpcf7-spinner {
  display: none !important
}

.wpcf7-response-output {
  margin: 2em 0 0 0 !important;
  padding: 1em .5em !important;
  width: 100%;
  text-align: center;
  line-height: 1.5em
}

.wpcf7-form-control-wrap span.wpcf7-not-valid-tip {
  display: none !important
}

  display: block !important
}

span.wpcf7-form-control-wrap {
  position: static
}

.wpcf7-validation-errors {
  padding: 1em !important;
  border: 1px solid #ff4800 !important
}

.wpcf7-not-valid-tip {
  margin-top: .75em
}

.wpcf7-not-valid-tip, .formError .formErrorContent {
  color: #dc3232;
  font-size: 2.6666666667vw !important
}

.wpcf7-response-output {
  font-size: 2.6666666667vw !important;
  text-indent: .5em
}

@media screen and (max-width: 750px) {
  .wpcf7-response-output {
    padding: 1em .5em !important
  }
}

@media screen and (min-width: 751px) {
  .wpcf7-not-valid-tip, .formError .formErrorContent {
    font-size: .9722222222vw !important
  }

  .wpcf7-response-output {
    font-size: 1.1111111111vw !important
  }
}

@media screen and (min-width: 1441px) {
  .wpcf7-not-valid-tip, .formError .formErrorContent {
    font-size: 14px;
    font-size: 1.4rem !important
  }

  .wpcf7-response-output {
    font-size: 16px;
    font-size: 1.6rem !important
  }
}

.sec--tour {
  padding-top: 8vw;
  background-color: #f8e8e7
}

.sec--tour:before {
  content: "";
  position: absolute;
  top: 2vw;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 1.2vw;
  background-image: url(../img/tour/border.svg);
  background-size: auto 1.2vw;
  background-repeat: repeat-x
}

.tour {
  position: relative;
  margin: 0 auto;
  width: 90.6666666667vw
}

.tour-read {
  text-align: center;
  background: #fa6f01;
  color: #fff;
  line-height: 1.5;
  padding: 0.1em 2em;
  border-radius: 100vw;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 0.6em;
}

.tour-catch {
  position: relative;
  margin-bottom: 3.3333333333vw;
  text-align: center
}

.tour-catch:before, .tour-catch:after {
  content: "";
  position: absolute;
  top: 1.3333333333vw;
  display: inline-block;
  width: 13.8666666667vw;
  height: 9.4666666667vw;
  background-image: url(../img/tour/flag.svg);
  background-size: contain
}

.tour-catch:before {
  left: -1.3333333333vw;
  transform: rotateY(180deg)
}

.tour-catch:after {
  right: -1.3333333333vw
}

.tour-catch p {
  position: relative;
  display: inline-block;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.6em;
  letter-spacing: 0;
  transform: rotate(-1.5deg);
  z-index: 1
}

.tour-catch p:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: .9333333333vw;
  background-color: #fff;
  border-radius: .4666666667vw;
  z-index: -1
}

.tour-head {
  position: relative;
  margin: 0 auto 45.3333333333vw auto;
  width: 73.0666666667vw;
  z-index: 1
}

.tour-head:before, .tour-head:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  z-index: 1
}

.tour-head:after {
  left: -4.6666666667vw;
  bottom: 2vw;
  width: 14.1333333333vw;
  height: 6.5333333333vw;
  background-image: url(../img/tour/eye.svg)
}

.tour-box {
  position: relative;
  padding: 10vw 6.6666666667vw 2.6666666667vw 6.6666666667vw
}

.tour-box:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 13.3333333333vw);
  background-color: #fff
}

.tour-box:after {
  content: "";
  position: absolute;
  top: -44.6666666667vw;
  right: -2.6666666667vw;
  width: 86.8vw;
  height: 50vw;
  background-image: url(../img/tour/main_sp.png);
  background-size: contain
}

.tour-en {
  position: absolute;
  top: -0.2em;
  right: .2em;
  color: #ffa6a6;
  font-family: "Damion", cursive;
  font-size: 9.6vw;
  letter-spacing: 0;
  transform: rotate(-3deg);
  z-index: 1
}

.tour-desc {
  position: relative;
  z-index: 1
}

.tour-desc p {
  line-height: 1.75em
}

@media screen and (min-width: 751px) {
  .sec--tour {
    padding-top: 4.8611111111vw
  }

  .sec--tour:before {
    top: 1.0416666667vw;
    height: .625vw;
    background-size: auto .625vw
  }

  .tour {
    width: 42.0833333333vw
  }

  .tour-catch {
    margin-bottom: 1.0416666667vw
  }

  .tour-catch:before, .tour-catch:after {
    top: -2.0833333333vw;
    width: 6.3194444444vw;
    height: 4.3055555556vw
  }

  .tour-catch:before {
    left: .6944444444vw
  }

  .tour-catch:after {
    right: .6944444444vw
  }

  .tour-catch p {
    font-size: 1.4583333333vw
  }

  .tour-catch p:before {
    height: .3472222222vw;
    border-radius: .1736111111vw
  }

  .tour-head {
    margin-bottom: 16.6666666667vw;
    width: 30vw
  }

  .tour-head:after {
    left: -2.0833333333vw;
    bottom: 0;
    width: 6.4583333333vw;
    height: 2.9861111111vw
  }

  .tour-box {
    padding: 5.2083333333vw 3.125vw 1.3888888889vw 3.125vw
  }

  .tour-box:before {
    height: calc(100% + 6.9444444444vw)
  }

  .tour-box:after {
    top: -15.7638888889vw;
    right: -1.1805555556vw;
    width: 40.3472222222vw;
    height: 19.5138888889vw;
    background-image: url(../img/tour/main.png);
    background-image: image-set(url(../img/tour/main.png) 1x, url(../img/tour/main-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/tour/main.png) 1x, url(../img/tour/main-2x.png) 2x)
  }

  .tour-en {
    font-size: 5vw
  }
}

@media screen and (min-width: 1441px) {
  .sec--tour {
    padding-top: 70px
  }

  .sec--tour:before {
    top: 15px;
    height: 9px;
    background-size: auto 9px
  }

  .tour {
    width: 606px
  }

  .tour-catch {
    margin-bottom: 15px
  }

  .tour-catch:before, .tour-catch:after {
    top: -30px;
    width: 91px;
    height: 62px
  }

  .tour-catch:before {
    left: 10px
  }

  .tour-catch:after {
    right: 10px
  }

  .tour-catch p {
    font-size: 21px;
    font-size: 2.1rem
  }

  .tour-catch p:before {
    height: 5px;
    border-radius: 2.5px
  }

  .tour-head {
    margin-bottom: 240px;
    width: 432px
  }

  .tour-head:after {
    left: -30px;
    width: 93px;
    height: 43px
  }

  .tour-box {
    padding: 75px 45px 20px 45px
  }

  .tour-box:before {
    height: calc(100% + 100px)
  }

  .tour-box:after {
    top: -227px;
    right: -17px;
    width: 581px;
    height: 281px
  }

  .tour-en {
    font-size: 72px;
    font-size: 7.2rem
  }
}

.tour-tab-menu {
  position: relative;
  display: flex;
  align-items: flex-end;
  margin-left: 6.6666666667vw
}

.tour-tab-menu>li {
  position: relative;
  top: 4vw;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 1.0666666667vw 4vw 1.0666666667vw;
  min-width: 13.3333333333vw;
  height: 13.3333333333vw;
  border-color: #241c15;
  border-style: solid;
  border-width: .4vw;
  border-bottom: none !important;
  border-radius: 1.3333333333vw 1.3333333333vw 0 0;
  font-family: "ZenKakuGothicNew";
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.16em;
  letter-spacing: -0.05em;
  text-align: center;
  transition: top .3s;
  cursor: pointer
}

.tour-tab-menu>li:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: .6666666667vw;
  display: inline-block;
  width: 2.2666666667vw;
  height: 1.2vw;
  background-image: url(../img/tour/arrow.svg);
  background-size: contain;
  transform: translateX(-50%)
}

.tour-tab-menu>li:hover {
  top: .5333333333vw
}

.tour-tab-menu>li:hover:after {
  bottom: .9333333333vw
}

.tour-tab-menu>li.is-active {
  top: .4666666667vw;
  padding: 0 1.0666666667vw 1.3333333333vw 1.0666666667vw;
  z-index: 1
}

.tour-tab-menu>li:nth-child(n+2) {
  margin-left: 2vw
}

.tour-tab-content {
  position: relative;
  width: 93.3333333333vw;
  border-color: #241c15;
  border-style: solid;
  border-width: .4vw;
  border-right: none !important;
  border-bottom: none !important
}

.tour-tab-content>div {
  visibility: hidden;
  height: 0
}

.tour-tab-content>div.is-active {
  padding: 2.6666666667vw 0 4vw 2.6666666667vw;
  height: auto;
  visibility: visible
}

.tour-tab--izumi {
  background-color: #f2a968
}

.tour-tab--sayama {
  background-color: #b0dff6
}

.tour-tab--kaizuka {
  background-color: #ffa6a6
}

.tour-tab--fujiidera {
  background-color: #faf168
}

.tour-tab--iwade {
  background-color: #c3e396
}

@media screen and (min-width: 751px) {
  .tour-tab-menu {
    margin-left: 1.7013888889vw
  }

  .tour-tab-menu>li {
    top: 2.0833333333vw;
    padding: 0 .5555555556vw 2.0833333333vw .5555555556vw;
    min-width: 6.6666666667vw;
    height: 6.9444444444vw;
    border-width: .2083333333vw;
    border-radius: .6944444444vw .6944444444vw 0 0;
    font-size: 1.6666666667vw
  }

  .tour-tab-menu>li:after {
    bottom: .3472222222vw;
    width: 1.1805555556vw;
    height: .625vw
  }

  .tour-tab-menu>li:hover {
    top: .2777777778vw
  }

  .tour-tab-menu>li:hover:after {
    bottom: .4861111111vw
  }

  .tour-tab-menu>li.is-active {
    top: .2430555556vw;
    padding: 0 .5555555556vw .6944444444vw .5555555556vw
  }

  .tour-tab-menu>li:nth-child(n+2) {
    margin-left: 1.0416666667vw
  }

  .tour-tab-content {
    width: 43.2638888889vw;
    border-width: .2083333333vw
  }

  .tour-tab-content>div.is-active {
    padding: 1.7361111111vw 0 2.7777777778vw 1.7361111111vw
  }
}

@media screen and (min-width: 1441px) {
  .tour-tab-menu {
    margin-left: 24.5px
  }

  .tour-tab-menu>li {
    top: 30px;
    padding: 0 8px 30px 8px;
    min-width: 96px;
    height: 100px;
    border-width: 3px;
    border-radius: 10px 10px 0 0;
    font-size: 24px;
    font-size: 2.4rem
  }

  .tour-tab-menu>li:after {
    bottom: 5px;
    width: 17px;
    height: 9px
  }

  .tour-tab-menu>li:hover {
    top: 4px
  }

  .tour-tab-menu>li:hover:after {
    bottom: 7px
  }

  .tour-tab-menu>li.is-active {
    top: 3.5px;
    padding: 0 8px 10px 8px
  }

  .tour-tab-menu>li:nth-child(n+2) {
    margin-left: 15px
  }

  .tour-tab-content {
    width: 623px;
    border-width: 3px
  }

  .tour-tab-content>div.is-active {
    padding: 25px 0 40px 25px
  }
}

.tour-posts {
  position: relative
}

.tour-slide {
  position: relative;
  width: 100%;
  overflow: hidden
}

.tour-slide:has(.swiper-wrapper-disable) {
  padding-right: 2.6666666667vw
}

.tour-slide .swiper-slide {
  margin-right: 3.0666666667vw;
  width: 61.3333333333vw !important
}

.tour-slide .swiper-slide:last-child {
  margin-right: 0 !important
}

@media screen and (min-width: 751px) {
  .tour-slide:has(.swiper-wrapper-disable) {
    padding-right: 1.7361111111vw
  }

  .tour-slide .swiper-slide {
    margin-right: 1.7361111111vw;
    width: 27.0833333333vw !important
  }

  .tour-posts .slide-prev, .tour-posts .slide-next {
    top: 15.9722222222vw
  }

  .tour-posts .slide-prev {
    left: -5.1388888889vw
  }

  .tour-posts .slide-next {
    right: -2.0833333333vw
  }
}

@media screen and (min-width: 1441px) {
  .tour-slide:has(.swiper-wrapper-disable) {
    padding-right: 25px
  }

  .tour-slide .swiper-slide {
    margin-right: 25px;
    width: 390px !important
  }

  .tour-posts .slide-prev, .tour-posts .slide-next {
    top: 230px
  }

  .tour-posts .slide-prev {
    left: -74px
  }

  .tour-posts .slide-next {
    right: -30px
  }
}

.sec--tour02 {
  background-color: #fff;
  z-index: 1
}

.tour02 {
  position: relative;
  margin: 0 auto;
  padding: 15.3333333333vw 0 4.6666666667vw 0;
  width: 100%;
  background-color: #f8e8e7;
  z-index: 2
}

.tour02-en {
  position: absolute;
  top: .5em;
  left: .2em;
  color: #ffa6a6;
  font-family: "Damion", cursive;
  font-size: 9.6vw;
  letter-spacing: 0;
  transform: rotate(-3deg);
  z-index: 1
}

.tour02-head {
  position: relative;
  margin: 0 auto 2.6666666667vw auto;
  width: 76vw;
  z-index: 1
}

.tour02-head:before, .tour02-head:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  z-index: 1
}

.tour02-head:before {
  top: -7.3333333333vw;
  right: -4vw;
  width: 13.8666666667vw;
  height: 9.4666666667vw;
  background-image: url(../img/tour02/flag.svg)
}

.tour02-head:after {
  left: -4.6666666667vw;
  bottom: 2vw;
  width: 14.1333333333vw;
  height: 6.5333333333vw;
  background-image: url(../img/tour02/eye.svg)
}

.tour02-posts {
  position: relative
}

.tour02-slide {
  position: relative;
  margin-left: auto;
  width: 91.3333333333vw;
  overflow: hidden
}

.tour02-slide:has(.swiper-wrapper-disable) {
  margin-left: 0;
  width: 100% !important
}

.tour02-slide .swiper-slide {
  margin-right: 4vw;
  width: 53.3333333333vw !important
}

.tour02-slide .swiper-slide:last-child {
  margin-right: 0 !important
}

.tour02-post a {
  display: block;
  border-color: #fff;
  border-style: solid;
  border-width: .6666666667vw
}

.tour02-post img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  height: 52vw
}

@media screen and (max-width: 750px) {
  .sec--tour02:after {
    content: "";
    position: absolute;
    top: 99.99999%;
    left: 50%;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8.6666666667vw 5.0666666667vw 0px 5.0666666667vw;
    border-color: #f8e8e7 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    transform: translateX(-50%);
    z-index: 2
  }

  .tour02 {
    overflow: hidden
  }

  .tour02:before {
    content: "";
    position: absolute;
    top: 2vw;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 1.2vw;
    background-image: url(../img/tour02/border.svg);
    background-size: auto 1.2vw;
    background-repeat: repeat-x
  }
}

@media screen and (min-width: 751px) {
  .sec--tour02 {
    padding-bottom: 6.9444444444vw
  }

  .tour02 {
    padding: 5.6944444444vw 0 2.0833333333vw 0;
    width: 42.0833333333vw
  }

  .tour02:after {
    content: "";
    position: absolute;
    top: 99.99999%;
    left: 50%;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.4722222222vw 1.9444444444vw 0 1.9444444444vw;
    border-color: #f8e8e7 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    transform: translateX(-50%)
  }

  .tour02-en {
    top: .1em;
    left: 0;
    font-size: 5vw
  }

  .tour02-head {
    margin-bottom: 1.7361111111vw;
    width: 30vw
  }

  .tour02-head:before {
    top: -2.7777777778vw;
    right: -4.1666666667vw;
    width: 6.3194444444vw;
    height: 4.3055555556vw
  }

  .tour02-head:after {
    left: -2.0833333333vw;
    bottom: 0;
    width: 6.4583333333vw;
    height: 2.9861111111vw
  }

  .tour02-slide {
    width: 40.2777777778vw
  }

  .tour02-slide .swiper-slide {
    margin-right: 1.3888888889vw;
    width: 15.9722222222vw !important
  }

  #tour02-prev, #tour02-next {
    top: 5.9027777778vw
  }

  .tour02-post a {
    border-width: .3472222222vw
  }

  .tour02-post img {
    height: 15.2777777778vw
  }
}

@media screen and (min-width: 1441px) {
  .sec--tour02 {
    padding-bottom: 100px
  }

  .tour02 {
    padding: 82px 0 30px 0;
    width: 606px
  }

  .tour02:after {
    border-width: 50px 28px 0px 28px
  }

  .tour02-en {
    font-size: 72px;
    font-size: 7.2rem
  }

  .tour02-head {
    margin-bottom: 25px;
    width: 432px
  }

  .tour02-head:before {
    top: -40px;
    right: -60px;
    width: 91px;
    height: 62px
  }

  .tour02-head:after {
    left: -30px;
    width: 93px;
    height: 43px
  }

  .tour02-slide {
    width: 580px
  }

  .tour02-slide .swiper-slide {
    margin-right: 20px;
    width: 230px !important
  }

  #tour02-prev, #tour02-next {
    top: 85px
  }

  .tour02-post a {
    border-width: 5px
  }

  .tour02-post img {
    height: 220px
  }
}

.sec--works {
  padding: 28.6666666667vw 0 7.3333333333vw 0;
  background-color: #f9f7eb
}

.works {
  margin: 0 auto;
  width: 85.3333333333vw
}

.works-ttl {
  position: absolute;
  top: -15.3333333333vw;
  left: 0;
  width: 100%;
  z-index: 1
}

.works-ttl:before, .works-ttl:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  z-index: 1
}

.works-ttl:before {
  top: 37.7333333333vw;
  left: 7.0666666667vw;
  width: 9.0666666667vw;
  height: 16.1333333333vw;
  background-image: url(../img/works/arrow_sp.svg)
}

.works-ttl:after {
  top: 14.9333333333vw;
  right: 5.3333333333vw;
  width: 34.6666666667vw;
  height: 30.4vw;
  background-image: url(../img/works/staff_sp.png)
}

.works-box {
  position: relative;
  margin-bottom: 2.6666666667vw;
  padding: 4vw 5.3333333333vw 4vw 5.3333333333vw;
  background-color: #fff
}

.works-catch {
  margin-bottom: 4vw
}

.works-catch p {
  font-size: 3.4666666667vw;
  font-weight: 600;
  text-align: center;
  line-height: 1.33em
}

.works-equipment {
  display: flex;
  flex-wrap: wrap;
  margin-left: -3.3333333333vw
}

.works-equipment>li {
  position: relative;
  margin-left: 3.3333333333vw;
  padding-left: 5.3333333333vw;
  width: calc(50% - 3.3333333333vw);
  font-size: 3.7333333333vw;
  letter-spacing: 0
}

.works-equipment>li:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1em;
  display: inline-block;
  width: 4.5333333333vw;
  height: 4.5333333333vw;
  background-image: url(../img/works/check.svg);
  background-size: contain
}

.works-equipment>li:nth-child(n+3) {
  margin-top: 3.3333333333vw
}

.works-pattern {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: -3.7333333333vw
}

.works-pattern>li {
  margin-left: 3.7333333333vw;
  background-color: #fff;
  box-shadow: 0px 5px 6.4px 1.6px rgba(0, 0, 0, .1)
}

.works-pattern>li:nth-child(n+2) {
  margin-top: 4.6666666667vw;
  width: calc(50% - 3.7333333333vw)
}

@media screen and (min-width: 751px) {
  .sec--works {
    padding: 14.9305555556vw 0 5.5555555556vw 0
  }

  .works {
    width: 39.5833333333vw
  }

  .works-ttl {
    top: -3.4722222222vw
  }

  .works-ttl:before {
    top: 12.6388888889vw;
    left: 4.1666666667vw;
    width: 4.8611111111vw;
    height: 4.8611111111vw;
    background-image: url(../img/works/arrow.svg)
  }

  .works-ttl:after {
    top: 5.2083333333vw;
    right: 2.4305555556vw;
    width: 15.2083333333vw;
    height: 17.9166666667vw;
    background-image: url(../img/works/staff.png);
    background-image: image-set(url(../img/works/staff.png) 1x, url(../img/works/staff-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/works/staff.png) 1x, url(../img/works/staff-2x.png) 2x)
  }

  .works-box {
    margin-bottom: 1.7361111111vw;
    padding: 1.3888888889vw 2.4305555556vw 2.4305555556vw 2.4305555556vw
  }

  .works-catch {
    display: inline-block;
    margin-bottom: 2.0833333333vw
  }

  .works-catch p {
    font-size: 1.4583333333vw
  }

  .works-equipment {
    margin-left: -4.1666666667vw
  }

  .works-equipment>li {
    margin-left: 4.1666666667vw;
    padding-left: 2.7777777778vw;
    width: calc(50% - 4.1666666667vw);
    font-size: 1.4583333333vw
  }

  .works-equipment>li:before {
    width: 2.3611111111vw;
    height: 2.3611111111vw
  }

  .works-equipment>li:nth-child(n+3) {
    margin-top: 1.3888888889vw
  }

  .works-pattern {
    margin-left: -1.3888888889vw
  }

  .works-pattern>li {
    margin-left: 1.3888888889vw
  }

  .works-pattern>li:nth-child(n+2) {
    margin-top: 2.0833333333vw;
    width: calc(50% - 1.3888888889vw)
  }
}

@media screen and (min-width: 1441px) {
  .sec--works {
    padding: 215px 0 80px 0
  }

  .works {
    width: 570px
  }

  .works-ttl {
    top: -50px
  }

  .works-ttl:before {
    top: 182px;
    left: 60px;
    width: 70px;
    height: 70px
  }

  .works-ttl:after {
    top: 75px;
    right: 35px;
    width: 219px;
    height: 258px
  }

  .works-box {
    margin-bottom: 25px;
    padding: 20px 35px 35px 35px
  }

  .works-catch {
    margin-bottom: 30px
  }

  .works-catch p {
    font-size: 21px;
    font-size: 2.1rem
  }

  .works-equipment {
    margin-left: -60px
  }

  .works-equipment>li {
    margin-left: 60px;
    padding-left: 40px;
    width: calc(50% - 60px);
    font-size: 21px;
    font-size: 2.1rem
  }

  .works-equipment>li:before {
    width: 34px;
    height: 34px
  }

  .works-equipment>li:nth-child(n+3) {
    margin-top: 20px
  }

  .works-pattern {
    margin-left: -20px
  }

  .works-pattern>li {
    margin-left: 20px
  }

  .works-pattern>li:nth-child(n+2) {
    margin-top: 30px;
    width: calc(50% - 20px)
  }
}

.form-input .wpcf7-checkbox .wpcf7-list-item {
  width: calc(50% - 1.3333333333vw);
}

@media screen and (min-width: 751px) {
  .form-input .wpcf7-checkbox .wpcf7-list-item {
    width: calc(50% - 1.0416666667vw);
  }
}

@media screen and (min-width: 1441px) {
  .form-input .wpcf7-checkbox .wpcf7-list-item {
    width: calc(50% - 15px);
  }
}

.tour02:after,
.sec--tour02:after {
  content: none;
}

.modelhouse {
  margin-bottom: 8vw;
}

.modelhouse .modelhouse-inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.modelhouse .modelhouse-box {
  background-color: #fff;
  width: calc(50% - 4vw);
}

.modelhouse .modelhouse-image {
  height: 40.667vw;
}

.modelhouse .modelhouse-image img {
  height: 100%;
  object-fit: cover;
}

.modelhouse .modelhouse-title {
  margin-top: 4vw;
  padding: 0 2.667vw;
  font-size: 3.8vw;
  line-height: 1.4;
}

.modelhouse .modelhouse-address {
  margin-top: 2.667vw;
  padding: 0 2.667vw;
}

.modelhouse .modelhouse-address-text {
  position: relative;
  padding-left: 5.3vw;
  line-height: 1.4;
  font-size: 2.8vw;
}

.modelhouse .modelhouse-address-text::before {
  content: '';
  position: absolute;
  top: -0.8vw;
  left: -1.2vw;
  display: inline-block;
  background: url(../img/common/icon_map.svg) no-repeat;
  background-size: cover;
  width: 5.333vw;
  height: 5.333vw;
}

.modelhouse .modelhouse-btn {
  margin-top: 2.667vw;
  padding: 0 2.333vw 3.333vw;
}

.modelhouse .modelhouse-btn .btn {
  width: 100%;
  height: 10.667vw;
  color: #fff;
  font-size: 3.733vw;
  font-weight: 700;
  border: 2px solid #241c15;
  border-radius: 8vw;
  background-color: #ff4800;
}

.modelhouse .modelhouse-btn .btn:hover {
  color: #ff4800;
  background-color: #fff;
}


.modelhouse .modelhouse-btn .btn::before {
  content: none;
}

.modelhouse .modelhouse-box:nth-child(n+3) {
  margin-top: 5.333vw;
}

@media screen and (min-width: 751px) {
  .modelhouse {
    margin-bottom: 2.082vw;
  }

  .modelhouse .modelhouse-inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .modelhouse .modelhouse-box {
    background-color: #fff;
    width: 19.431vw;
  }

  .modelhouse .modelhouse-box:nth-of-type(n+3) {
    margin-top: 1.388vw;
  }

  .modelhouse .modelhouse-image {
    height: 19.431vw;
  }

  .modelhouse .modelhouse-title {
    margin-top: 1.041vw;
    padding: 0 0.694vw;
    font-size: 1.388vw;
    line-height: 1.4;
  }

  .modelhouse .modelhouse-address {
    margin-top: 0.694vw;
    padding: 0 0.694vw;
    line-height: 1.4;
  }

  .modelhouse .modelhouse-address-text {
    padding-left: 2.498vw;
    font-size: 1.2vw;
  }

  .modelhouse .modelhouse-address-text::before {
    top: 0px;
    left: 0.555vw;
    width: 1.527vw;
    height: 1.527vw;
  }

  .modelhouse .modelhouse-btn {
    margin-top: 0.694vw;
    padding: 0 1.388vw 1.388vw;
  }

  .modelhouse .modelhouse-btn .btn {
    width: 100%;
    height: 2.776vw;
    font-size: 1.11vw;
    font-weight: 700;
    border: 2px solid #241c15;
    border-radius: 2.082vw;
  }

  .modelhouse .modelhouse-btn .btn::before {
    content: none;
  }
}

@media screen and (min-width: 1441px) {
  .modelhouse {
    margin-bottom: 30px;
  }

  .modelhouse .modelhouse-box {
    width: 280px;
  }

  .modelhouse .modelhouse-box:nth-of-type(n+3) {
    margin-top: 20px;
  }

  .modelhouse .modelhouse-image {
    height: 280px;
  }

  .modelhouse .modelhouse-title {
    margin-top: 15px;
    padding: 0 10px;
    font-size: 20px;
  }

  .modelhouse .modelhouse-address {
    margin-top: 10px;
    padding: 0 10px;
  }

  .modelhouse .modelhouse-address-text {
    padding-left: 36px;
    font-size: 14px;
  }

  .modelhouse .modelhouse-address-text::before {
    top: 0px;
    left: 8px;
    width: 22px;
    height: 22px;
  }

  .modelhouse .modelhouse-btn {
    margin-top: 10px;
    padding: 0 20px 20px;
  }

  .modelhouse .modelhouse-btn .btn {
    height: 40px;
    font-size: 16px;
    border: 2px solid #241c15;
    border-radius: 30px;
  }
}

.form-product::before {
  content: none;
}


/* 見学会 */
.tour-box:before {
  height: 100%;
}

.tour-tab {
  position: relative;
}

.tour-menu {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1em;
  row-gap: .5em;
  margin-block: 1em;
}

.tour-menu>* {
  border: solid .15em #333;
  border-bottom: solid 0.2em #333;
  border-radius: .3em;
  font-weight: bold;
  padding: .5em 1em;
  padding-right: 2em;
  background-color: #fff;
  font-size: 1.1em;
  cursor: pointer;
  position: relative;
}

.tour-menu>*:before {
  content: '';
  width: .5em;
  height: .5em;
  border-top: solid .15em #333;
  border-right: solid .15em #333;
  position: absolute;
  right: .5em;
  transform: rotate(45deg);
  top: 0.65em;
}

.tour-menu>*.is-active {
  background-color: #b0dff6;
}

.tour-tab-content {
  border: none;
}

.tour-tab-content>* {
  background-color: transparent;
}

.btn-tour {
  background-color: #ff4800;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: .4em 1em;
  border: solid .15em #333;
  border-bottom: solid 0.3em #333;
  border-radius: 100vw;
  padding: 0.8em;
  margin-top: 1em;

}

@media screen and (min-width: 751px) {
  .tour-menu>* {
    font-size: 1.3em;
  }
}

.btn-tourlist {
  text-align: center;
  display: block;
  border-radius: 100vw;
  background-color: #b0dff6;
  font-weight: bold;
  border: solid .15em #333;
  border-bottom: solid 0.2em #333;
  margin-top: 2em;
  padding: 0.7em;
  font-size: 1.1em;
  max-width: 85%;
  margin-inline: auto;
}

@media screen and (min-width: 751px) {
  .btn-tourlist {
    font-size: 1.2em;
    max-width: 400px;
  }
}

.tour02-slide .swiper-slide {
  background-color: #fff;
}

.tour02-slide .swiper-slide .btn-tour {
  font-size: 0.9em;
  max-width: 90%;
  margin: 0.5em auto;
}

.modelhouse .modelhouse-box {
  cursor: pointer;
  transition: .3s;
}

.modelhouse .modelhouse-box:hover {
  opacity: .7;
}

.tour-menu>*.is-active.--izumi,
.tour-tab--izumi .btn-tourlist {
  background-color: #f2a968;
}

.tour-menu>*.is-active.--sayama,
.tour-tab--sayama .btn-tourlist {
  background-color: #b0dff6;
}

.tour-menu>*.is-active.--kaizuka,
.tour-tab--kaizuka .btn-tourlist {
  background-color: #ffa6a6;
}

.tour-menu>*.is-active.--fujiidera,
.tour-tab--fujiidera .btn-tourlist {
  background-color: #faf168;
}

.tour-menu>*.is-active.--iwade,
.tour-tab--iwade .btn-tourlist {
  background-color: #c3e396;
}


.hero-box .tour-read {
  position: absolute;
  top: -11.467vw;
  left: 50%;
  transform: translate(-50%);
}

.hero--fujiidera .hero-box .tour-read {
  width: 59.733vw;
}

@media screen and (max-width: 750px) {
  .hero-box .tour-read {
    width: 56.533vw;
  }
}

@media screen and (min-width: 751px) {
  .hero-box .tour-read {
    top: -3.817vw;
  }
  .hero--fujiidera .hero-box .tour-read {
    width: 21.513vw;
  }
}

@media screen and (min-width: 1441px) {
  .hero-box .tour-read {
    top: -55px;
  }
  .hero--fujiidera .hero-box .tour-read {
    width: 310px;
  }
}