/* default settings */
.kv {
  position: relative;
}
.kv::before {
  position: absolute;
  content: "";
  background: #6FBA2C;
  bottom: -14.2857142857rem;
  height: 14.2857142857rem;
  left: 0;
  right: 0;
}
.kv-video {
  width: 100%;
  height: 15.0714285714rem;
  overflow: hidden;
  position: relative;
}
@media (min-width: 751px) {
  .kv-video {
    height: 21.7142857143rem;
  }
}
.kv-video video {
  position: absolute;
  width: 102%;
  height: 100%;
  object-fit: cover;
  margin: 0 -1%;
}
.kv .kv-slider {
  margin: 0 0 1.4285714286rem 0;
  min-height: 14.5rem;
}
@media (min-width: 751px) {
  .kv .kv-slider {
    margin: 0 0 0.8571428571rem 0;
    min-height: 20.8571428571rem;
  }
}
.kv .kv-slider-box {
  position: relative;
}
.kv .kv-slider-box::after {
  content: "";
  position: absolute;
  bottom: -1.4285714286rem;
  left: 0;
  right: 0;
  height: 3.7142857143rem;
  background: linear-gradient(180deg, rgba(135, 201, 55, 0) -5.3%, #87C937 31.17%, #87C937 100.06%);
}
@media (min-width: 751px) {
  .kv .kv-slider-box::after {
    bottom: -0.8571428571rem;
  }
}
@media (min-width: 751px) {
  .kv .kv-slider img {
    margin: 0 -0.0714285714rem;
    max-width: calc(100% + 0.1428571429rem);
  }
}
.kv .slick-list {
  border-top-left-radius: 3.4285714286rem;
  border-top-right-radius: 3.4285714286rem;
  overflow: hidden;
}
@media (max-width: 750px) {
  .kv .slick-list {
    border-radius: 0;
  }
}
.kv .slick-slide {
  position: relative;
}
.kv .slick-slide::after {
  content: "";
  position: absolute;
  bottom: -1.4285714286rem;
  left: 0;
  right: 0;
  height: 3.7142857143rem;
  background: linear-gradient(180deg, rgba(135, 201, 55, 0) -5.3%, #87C937 31.17%, #87C937 100.06%);
}
@media (min-width: 751px) {
  .kv .slick-slide::after {
    bottom: -0.8571428571rem;
  }
}
.kv .slick-prev, .kv .slick-next {
  top: auto;
  bottom: -0.9285714286rem;
  transform: none;
}
@media (min-width: 751px) {
  .kv .slick-prev, .kv .slick-next {
    bottom: -0.2857142857rem;
  }
}
.kv .slick-prev {
  left: 8.3571428571rem;
}
@media (min-width: 751px) {
  .kv .slick-prev {
    left: 14.2857142857rem;
  }
}
.kv .slick-next {
  right: 8.3571428571rem;
}
@media (min-width: 751px) {
  .kv .slick-next {
    right: 14.2857142857rem;
  }
}
.kv .btn-play {
  position: absolute;
  width: 2.5714285714rem;
  height: 2.5714285714rem;
  bottom: -0.9285714286rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  cursor: pointer;
  z-index: 2;
}
@media (min-width: 751px) {
  .kv .btn-play {
    bottom: -0.2857142857rem;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .kv .btn-play:hover {
    opacity: 0.8;
    transition: all 0.3s ease;
  }
}
.kv .btn-play img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.kv .btn-play img.icon-pause {
  display: none;
}
.kv .btn-play.pause img.icon-play {
  display: none;
}
.kv .btn-play.pause img.icon-pause {
  display: block;
}
.kv .btn-play-video {
  position: absolute;
  width: 2.5714285714rem;
  height: 2.5714285714rem;
  bottom: 1.1428571429rem;
  left: 1.1428571429rem;
  cursor: pointer;
}
@media (min-width: 751px) and (hover: hover) {
  .kv .btn-play-video:hover {
    opacity: 0.8;
    transition: all 0.3s ease;
  }
}
.kv .btn-play-video img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.kv .btn-play-video img.icon-pause {
  display: none;
}
.kv-bg {
  background: #70BA2D;
  background: linear-gradient(0deg, rgb(112, 186, 45) 0%, rgb(135, 201, 55) 100%);
  padding: 0.6428571429rem 0 1.3571428571rem 0;
}
@media (min-width: 751px) {
  .kv-bg {
    padding: 1.5rem 0 2.6428571429rem 0;
  }
}
.kv-ttl {
  width: 21.7857142857rem;
  margin: 0 auto 0.8571428571rem auto;
}
.kv-ttl img {
  margin: 0 0 0 0.2857142857rem;
}
.kv .btn-cus + .btn-cus {
  margin: 0.5714285714rem 0 0 0;
}
@media (max-width: 750px) {
  .kv .btn-cus + .btn-cus {
    margin: 0.5rem 0 0 0;
  }
}
.kv .btn-cus {
  box-shadow: 0.4285714286rem 0.4285714286rem 0 #238716;
  border-radius: 1.7142857143rem;
  height: 4.2857142857rem;
  padding: 0 0.5714285714rem 0 0.5rem;
  justify-content: flex-start;
}
.kv .btn-cus:first-child .icon {
  margin-right: 0.8571428571rem;
}
.kv-cont {
  width: 10rem;
  margin: 0.2857142857rem 0.7857142857rem 0 0;
  position: relative;
}
@media (min-width: 751px) {
  .kv-cont {
    margin: -0.1428571429rem 3.2857142857rem 0 0;
  }
}
.kv-cont img {
  position: relative;
  z-index: 1;
}
.kv .group-btn {
  width: 11.7857142857rem;
  margin: 0.7142857143rem 0 0 0.2857142857rem;
  height: fit-content;
}
@media (min-width: 751px) {
  .kv .group-btn {
    width: 11.7857142857rem;
    margin: 0.7142857143rem 0 0 1.6428571429rem;
  }
  .kv .group-btn.only-sp {
    display: none;
  }
}
@media (max-width: 750px) {
  .kv .group-btn.only-pc {
    display: none;
  }
}
.kv-note {
  width: 18.8571428571rem;
  margin: 0.2857142857rem -1.2142857143rem 0 auto;
  font-size: 0.7142857143rem;
  line-height: 1.4;
  font-weight: 500;
}
@media (max-width: 750px) {
  .kv-note {
    width: 11.0714285714rem;
    margin: 0 0.2857142857rem 0 auto;
  }
}
.kv-note .note {
  display: flex;
}
.kv-note .note + .note {
  margin-top: 0.1428571429rem;
}
.kv-note .note span + span {
  margin-left: 0.2857142857rem;
}

.text-scroll {
  display: flex;
  width: max-content;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  transition: none;
  position: absolute;
  top: 0;
  left: 0;
}

.marqueeStyle {
  animation-name: bgAnimLeft;
}

.marqueeStyle2 {
  animation-name: bgAnimLeft2;
  transform: translateX(100%);
}

@-webkit-keyframes guideBgAnime {
  from {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes guideBgAnime {
  from {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes bgAnimLeft {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes bgAnimLeft {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@-webkit-keyframes bgAnimLeft2 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
@keyframes bgAnimLeft2 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}
.floating-btns {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  display: flex;
  justify-content: center;
  transition: transform 0.5s ease-in;
  padding-bottom: env(safe-area-inset-bottom, 4.2857142857rem);
}
@media (min-width: 751px) {
  .floating-btns {
    visibility: hidden;
    opacity: 0;
  }
}

.house {
  color: #333;
  background: url("../img/house-bg-sp.png") no-repeat center top;
  background-size: 100% 100%;
  padding: 5.5rem 1.4285714286rem 2.8571428571rem 1.4285714286rem;
  position: relative;
}
@media (min-width: 751px) {
  .house {
    background: url("../img/house-bg.png") no-repeat center top;
    background-size: 100% 100%;
    padding: 6.9285714286rem 0 2.8571428571rem 0;
    margin: -1rem -0.0714285714rem 0 -0.0714285714rem;
  }
}
.house-ttl {
  padding: 0 0 1.2142857143rem 0;
  margin: 0 auto 1.2142857143rem auto;
  background: url("../common/img/line.png") repeat-x left bottom;
  background-size: auto 0.0714285714rem;
}
@media (min-width: 751px) {
  .house-ttl {
    padding: 0 0 0.9285714286rem 0;
    margin: 0 auto 1rem auto;
  }
}
.house .txt {
  line-height: 2.2;
  letter-spacing: 0.04em;
}
@media (min-width: 751px) {
  .house .txt {
    text-align: center;
  }
}
.house .txt-underline::before {
  bottom: 0.2857142857rem;
}
.house-suumo {
  position: absolute;
  width: 8rem;
  top: -1.7142857143rem;
  left: 1.3571428571rem;
}
@media (min-width: 751px) {
  .house-suumo {
    top: -0.1428571429rem;
    left: 4.4285714286rem;
  }
}

.kv-sub {
  height: 2.4285714286rem;
  position: relative;
}
.kv-sub img {
  width: 13.6428571429rem;
  height: 2.4285714286rem;
}

.voice {
  padding: 2.2857142857rem 0 4.7857142857rem 0;
  position: relative;
}
@media (min-width: 751px) {
  .voice {
    padding: 1.7857142857rem 0 6.5714285714rem 0;
    margin: 2.4285714286rem 0 0 0;
  }
}
.voice-ttl {
  color: #333;
  text-align: center;
  font-size: 1.7142857143rem;
  line-height: 1.32;
  letter-spacing: -0.18em;
  font-weight: 700;
  margin: 0 auto 0 auto;
  position: absolute;
  overflow: hidden;
  top: 18.5714285714rem;
  left: 0;
  right: 0;
  z-index: 1;
}
@media (min-width: 751px) {
  .voice-ttl {
    top: 18.2857142857rem;
  }
}
.voice-ttl .txt-1 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-2 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-3 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-4 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-5 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-6 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-7 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-8 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-9 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-10 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-11 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-12 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-13 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-14 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-15 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-16 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-17 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl .txt-18 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.voice-ttl[style*=visible] .txt-1 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(1 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-2 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(2 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-3 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(3 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-4 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(4 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-5 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(5 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-6 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(6 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-7 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(7 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-8 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(8 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-9 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(9 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-10 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(10 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-11 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(11 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-12 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(12 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-13 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(13 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-14 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(14 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-15 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(15 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-16 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(16 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-17 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(17 * 0.025s + 0.025s);
}
.voice-ttl[style*=visible] .txt-18 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(18 * 0.025s + 0.025s);
}
.voice .voice-list-top .slick-track {
  margin-left: 1.2142857143rem;
}
@media (min-width: 751px) {
  .voice .voice-list-top .slick-track {
    margin-left: 6.7857142857rem;
  }
}
.voice .voice-list-bottom .slick-track {
  margin-right: 1.6428571429rem;
}
@media (min-width: 751px) {
  .voice .voice-list-bottom .slick-track {
    margin-right: 6.7857142857rem;
  }
}
.voice .slick-prev, .voice .slick-next {
  top: auto;
  bottom: -3rem;
  transform: none;
}
@media (min-width: 751px) {
  .voice .slick-prev, .voice .slick-next {
    bottom: -3.6428571429rem;
  }
}
.voice .slick-prev {
  left: 8.3571428571rem;
}
@media (min-width: 751px) {
  .voice .slick-prev {
    left: 14.2857142857rem;
  }
}
.voice .slick-next {
  right: 8.3571428571rem;
}
@media (min-width: 751px) {
  .voice .slick-next {
    right: 14.2857142857rem;
  }
}
.voice .btn-play {
  position: absolute;
  width: 2.5714285714rem;
  height: 2.5714285714rem;
  bottom: 1.7857142857rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  cursor: pointer;
  z-index: 2;
}
@media (min-width: 751px) {
  .voice .btn-play {
    bottom: 2.9285714286rem;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .voice .btn-play:hover {
    opacity: 0.8;
    transition: all 0.3s ease;
  }
}
.voice .btn-play img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.voice .btn-play img.icon-pause {
  display: none;
}
.voice .btn-play.pause img.icon-play {
  display: none;
}
.voice .btn-play.pause img.icon-pause {
  display: block;
}
.voice-list-top {
  margin-bottom: 4.6428571429rem;
}
@media (min-width: 751px) {
  .voice-list-top {
    margin-bottom: 5.1428571429rem;
  }
}
.voice-item {
  position: relative;
  width: 12rem;
  height: 16rem;
  perspective: 71.4285714286rem;
  cursor: pointer;
}
@media (min-width: 751px) {
  .voice-item {
    margin: 0 0.5714285714rem;
  }
}
.voice-item img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.voice-item img.img-hover {
  transform: rotateY(180deg);
}
.voice-item.voice-tab .voice-top, .voice-item.voice-tab .voice-bottom {
  transform: rotateY(180deg);
}
.voice-top, .voice-bottom {
  width: 12rem;
  height: 16rem;
  position: relative;
  transition: transform 0.6s;
  transform-style: preserve-3d;
  outline: none;
}
.voice-top:focus-visible, .voice-top:focus, .voice-top:-webkit-direct-focus, .voice-bottom:focus-visible, .voice-bottom:focus, .voice-bottom:-webkit-direct-focus {
  outline: none;
}

.dream {
  background: url("../img/dream-bg-sp.jpg") no-repeat center top, #fff;
  background-size: 100%;
  padding: 4rem 0 5.2857142857rem 0;
  position: relative;
}
@media (min-width: 751px) {
  .dream {
    background: url("../img/dream-bg.jpg") no-repeat center top, #fff;
    background-size: 100%;
    padding: 4rem 0 4.1428571429rem 0;
  }
}
.dream::before {
  position: absolute;
  content: "";
  background: #fff;
  bottom: -14.2857142857rem;
  height: 14.2857142857rem;
  left: 0;
  right: 0;
}
.dream-ttl {
  color: #333;
  text-align: center;
  font-size: 1.7142857143rem;
  line-height: 1.4;
  letter-spacing: -0.24em;
  margin: 0 auto 1.7142857143rem auto;
  overflow: hidden;
}
@media (min-width: 751px) {
  .dream-ttl {
    margin: 0 auto 1.6428571429rem auto;
  }
}
.dream-ttl .txt-1 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-2 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-3 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-4 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-5 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-6 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-7 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-8 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-9 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-10 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-11 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-12 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-13 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-14 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-15 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-16 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-17 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-18 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-19 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-20 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-21 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl .txt-22 {
  opacity: 1;
  transform: translateY(100%);
  display: inline-block;
  letter-spacing: 0;
}
.dream-ttl[style*=visible] .txt-1 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(1 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-2 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(2 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-3 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(3 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-4 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(4 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-5 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(5 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-6 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(6 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-7 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(7 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-8 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(8 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-9 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(9 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-10 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(10 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-11 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(11 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-12 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(12 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-13 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(13 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-14 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(14 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-15 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(15 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-16 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(16 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-17 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(17 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-18 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(18 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-19 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(19 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-20 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(20 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-21 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(21 * 0.025s + 0.025s);
}
.dream-ttl[style*=visible] .txt-22 {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.25s ease-in calc(22 * 0.025s + 0.025s);
}
@media (min-width: 751px) {
  .dream-ttl .txt-underline::before {
    bottom: 0.1428571429rem;
  }
}
.dream .slider-popup {
  margin: 0 0 1.6428571429rem 0;
}
@media (min-width: 751px) {
  .dream .slider-popup {
    margin: 0 0 1.8571428571rem 0;
  }
}
.dream .slide-item {
  width: 16.5rem;
  margin: 0 0.2857142857rem;
  text-align: center;
  cursor: pointer;
}
@media (min-width: 751px) and (hover: hover) {
  .dream .slide-item:hover {
    transition: all 0.3s ease;
  }
  .dream .slide-item:hover .slide-photo::before {
    background: url("../common/img/icon-full-hover.png") no-repeat center center;
    background-size: cover;
  }
  .dream .slide-item:hover .slide-photo:after {
    opacity: 1;
  }
}
@media (min-width: 751px) {
  .dream .slide-item .slide-text {
    padding: 0.3571428571rem 0.5714285714rem 0 0.5714285714rem;
    display: flex;
    justify-content: center;
  }
}
.dream .slide-photo {
  margin: 0 auto 0.2857142857rem auto;
  position: relative;
}
.dream .slide-photo::before {
  position: absolute;
  content: "";
  width: 1.4285714286rem;
  height: 1.4285714286rem;
  background: url("../common/img/icon-full.png") no-repeat center center;
  background-size: cover;
  bottom: 0.5714285714rem;
  right: 0.5714285714rem;
  transition: all 0.3s ease;
}
@media (min-width: 751px) {
  .dream .slide-photo::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 1.7142857143rem;
    box-sizing: border-box;
    opacity: 0;
    border: 0.1428571429rem solid #6FBA2C;
    transition: all 0.3s ease;
  }
}
.dream .slide-photo img {
  border: 0.0714285714rem solid #000;
  border-radius: 1.7142857143rem;
  box-sizing: border-box;
}
.dream .slide-ttl {
  font-size: 0.8571428571rem;
  line-height: 1.4;
  letter-spacing: 0;
}
.dream .slide-ttl .num {
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0;
}
.dream .slide-label {
  font-size: 0.8571428571rem;
  line-height: 1.4;
  letter-spacing: 0;
  font-weight: 500;
  width: 5.5714285714rem;
  height: 1.2857142857rem;
  border-radius: 71.3571428571rem;
  border: 0.0714285714rem solid #000;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
}
@media (max-width: 750px) {
  .dream .slide-label {
    display: none;
  }
}
.dream-sub {
  position: relative;
}
.dream-sub img {
  width: 9.5rem;
  height: 1.8571428571rem;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1000000;
  opacity: 0;
  visibility: hidden;
  align-items: center;
  justify-content: center;
  transform: translate3d(0, 0, 0);
  transition: all 0.35s ease;
  transition-delay: 0.2s;
  background: none;
  padding: 0;
  display: flex;
}
.modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.2);
}
@media (max-width: 750px) {
  .modal-overlay {
    height: 100dvh;
  }
}
.modal-center {
  background: #fff;
  transition: background 0.2s ease;
  border-radius: 1.7142857143rem;
  border: 0.0714285714rem solid #000;
  width: 100%;
  max-width: 23.3571428571rem;
  position: relative;
  z-index: 1;
  margin: auto;
}
@media (min-width: 751px) {
  .modal-center {
    left: 15.6428571429rem;
    max-width: 31.7142857143rem;
  }
}
.modal-main {
  max-height: calc(100dvh - 100px);
  overflow-y: scroll;
  padding: 0.5714285714rem 0.5714285714rem 1.2857142857rem 0.5714285714rem;
  box-sizing: border-box;
}
.modal-main::-webkit-scrollbar {
  width: 0;
}
.modal-main::-webkit-scrollbar-track {
  background: transparent;
}
.modal-main::-webkit-scrollbar-thumb {
  background: transparent;
}
.modal-main::-webkit-scrollbar-thumb:hover {
  background: transparent;
}
.modal-close {
  border-radius: 2.5714285714rem;
  width: 2.5714285714rem;
  height: 2.5714285714rem;
  box-sizing: border-box;
  background: url("../common/img/icon-close.svg") no-repeat center center;
  background-size: 100%;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  position: absolute;
  top: -2.8571428571rem;
  right: 0;
}
@media (min-width: 751px) {
  .modal-close {
    cursor: pointer;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .modal-close:hover {
    opacity: 0.8;
    transition: all 0.3s ease;
  }
}
.modal-photo {
  margin: 0 auto 1.1428571429rem auto;
}
.modal-photo img {
  border-radius: 1.1428571429rem;
}
.modal-text {
  width: 19.9285714286rem;
  margin: 0 auto;
  text-align: center;
}
@media (min-width: 751px) {
  .modal-text {
    width: 25.7142857143rem;
  }
}
.modal-ttl {
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
  margin: 0 auto 0.4285714286rem auto;
}
.modal-ttl .num {
  font-size: 1.1428571429rem;
  line-height: 1.4;
  letter-spacing: 0;
}
.modal-sub-ttl {
  font-size: 1.1428571429rem;
  line-height: 1.65;
  letter-spacing: 0;
  margin: 0 auto 0.8571428571rem auto;
  display: inline;
  background: url("../common/img/line.png") repeat-x left bottom 0.0714285714rem;
  background-size: auto 0.0714285714rem;
}
.modal .txt {
  margin: 0.8571428571rem auto 0 auto;
  line-height: 1.65;
  font-weight: 400;
  text-align: left;
}

@media (min-width: 751px) {
  .info {
    display: none;
  }
}
.info-bg {
  position: relative;
  z-index: 1;
  background: #6FBA2C;
  border-radius: 3.4285714286rem;
  padding: 1.2142857143rem 0.5714285714rem 0.5714285714rem 0.5714285714rem;
}
.info .reservation {
  position: relative;
  padding: 0 0 1.2142857143rem 0;
}
.info .reservation.reservation-mb {
  padding: 0 0 1.4285714286rem 0;
}
.info .reservation::before {
  position: absolute;
  content: "";
  background: url("../common/img/line.png") repeat-x left bottom 0.0714285714rem;
  background-size: auto 0.0714285714rem;
  right: 1.1428571429rem;
  left: 1.1428571429rem;
  bottom: 0;
  height: 0.1428571429rem;
}
.info .reservation-ttl {
  margin: 0 auto 0.9285714286rem auto;
  width: 24.5rem;
}
.info .reservation-steps {
  width: 24.5rem;
  margin: 0 auto 1.1428571429rem auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.info .reservation-steps-item {
  width: 6.8571428571rem;
}
.info .reservation-steps-arrow {
  width: 0.7142857143rem;
  margin: auto 0.2142857143rem;
}
.info .reservation-steps-arrow img {
  margin: -0.4285714286rem 0 0 0;
}
.info .reservation .group-btn {
  margin: 0 auto;
}
.info .reservation .group-btn .btn-cus {
  width: 12.5714285714rem;
  padding: 0 0.5714285714rem 0 0.0714285714rem;
}
.info .reservation .group-btn .btn-cus .icon {
  margin: 0 0.3571428571rem 0 0;
}
.info .telephone {
  padding: 1.1428571429rem 0 0 0;
}
.info .telephone-ttl {
  margin: 0 auto 0.9285714286rem auto;
}
.info .telephone-box {
  background: #fff;
  border: 0.0714285714rem solid #000;
  border-radius: 2.8571428571rem;
  padding: 1.6428571429rem 1.1428571429rem 1rem 1.1428571429rem;
}
.info .telephone-box.tel02 {
  padding: 1.2857142857rem 1.1428571429rem 1.0714285714rem 1.1428571429rem;
}
.info .telephone-box .tel01 {
  background: url("../common/img/line.png") repeat-x left bottom;
  background-size: auto 0.0714285714rem;
}
.info .telephone-num {
  margin: 0;
  display: block;
}
.info .telephone-txt {
  font-size: 1.1428571429rem;
  line-height: 1;
  letter-spacing: 0.04em;
  text-align: center;
  margin: 0.7857142857rem 0 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.info .telephone-txt .num {
  display: inline-block;
  width: 1.5rem;
  margin: 0 0.2142857143rem;
}
.info .telephone-txt .num img {
  margin: -0.1428571429rem 0 0.1428571429rem 0;
}
.info .telephone-txt .label {
  font-size: 0.8571428571rem;
  line-height: 1;
  letter-spacing: 0.07em;
  background: #fff;
  border: 0.0714285714rem solid #000;
  border-radius: 71.3571428571rem;
  padding: 0 0.3571428571rem;
  height: 1.2857142857rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  box-sizing: border-box;
  margin: 0 0 0 0.5714285714rem;
}
.info .telephone-txt .label:last-child {
  margin: 0 0 0 0.1428571429rem;
}
.info .telephone-time {
  background: #F5F3F1;
  width: 13.9285714286rem;
  margin: 0.5714285714rem auto 0 auto;
  padding: 0.5357142857rem;
  font-size: 0.8571428571rem;
  line-height: 1.4;
  letter-spacing: 0;
  border-radius: 1.1428571429rem;
  text-align: center;
}
.info .telephone-time .time {
  font-family: "Poppins", sans-serif;
}
.info .telephone-time .dashed {
  display: inline-block;
  width: 0.2142857143rem;
  margin: 0 0.0714285714rem 0 0.2142857143rem;
}
.info .telephone-time .dashed img {
  margin: -0.2142857143rem 0 0 0;
}
.info .telephone-time .time-txt {
  margin: 0 0 0 0.5714285714rem;
}
.info .box-note {
  margin: -4.2857142857rem 0 0 0;
  padding: 5.4285714286rem 1.7142857143rem 1.5714285714rem 1.7142857143rem;
  background: #fff;
  border: 0.0714285714rem solid #000;
  border-bottom-left-radius: 3.4285714286rem;
  border-bottom-right-radius: 3.4285714286rem;
}
@media (min-width: 751px) {
  .info .box-note {
    padding: 5.2857142857rem 1.7142857143rem 1.5714285714rem 1.7142857143rem;
  }
}
.info .box-note .label {
  font-size: 0.8571428571rem;
  line-height: 1;
  letter-spacing: 0.07em;
  background: #fff;
  border: 0.0714285714rem solid #000;
  border-radius: 71.3571428571rem;
  padding: 0 0.3571428571rem;
  height: 1.2857142857rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  box-sizing: border-box;
  margin: auto 0;
}
.info .box-note-ttl {
  width: calc(100% - 4.7857142857rem);
  margin: auto 0;
  font-size: 1.2857142857rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.info .box-note-photo {
  width: 5.0714285714rem;
  margin: 1rem 0 0 0;
}
.info .box-note-text {
  width: 17.6428571429rem;
  margin: 1.0714285714rem 0 0 0;
}
.info .box-note-text .txt {
  line-height: 1.4;
  margin: 0 0 0.7857142857rem 0;
}
.info .box-note-text .note {
  font-size: 0.7857142857rem;
  line-height: 1.4;
  letter-spacing: 0;
}
.info .box-note-text .note p {
  display: flex;
}
.info .box-note-text .note p span:first-child {
  margin: 0 0.2857142857rem 0 0;
}
.info .box-note-text .note p + p {
  margin: 0.1428571429rem 0 0 0;
}

.suumo-deco {
  margin: 2.8571428571rem 0 0 0;
  position: relative;
}
@media (min-width: 751px) {
  .suumo-deco {
    margin: 0;
  }
}
.suumo-deco .about-suumo {
  width: 17.1428571429rem;
  margin: 0 auto -8.8571428571rem auto;
}
.suumo-deco .about-suumo-hand {
  position: absolute;
  top: 7.2857142857rem;
  left: 0;
  right: 0;
  width: 16.8928571429rem;
  margin: 0 auto;
  z-index: 2;
}

@-webkit-keyframes SuumofadeInUp {
  from {
    transform: translate3d(0, 100%, 0);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes SuumofadeInUp {
  from {
    transform: translate3d(0, 100%, 0);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.SuumofadeInUp {
  opacity: 0;
}

.wow[style*=visible] .SuumofadeInUp {
  animation-name: SuumofadeInUp;
  -webkit-animation-name: SuumofadeInUp;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.toggle {
  background: #fff;
  border: 0.0714285714rem solid #000;
  border-radius: 3.4285714286rem;
  position: relative;
  padding: 0 0 2.7857142857rem 0;
}
@media (min-width: 751px) {
  .toggle {
    padding: 0 0 2.2857142857rem 0;
    margin: 0 -0.0714285714rem;
  }
}
.toggle-content {
  padding: 1.6428571429rem 1.7142857143rem 0 1.7142857143rem;
  overflow: hidden;
  position: relative;
}
@media (min-width: 751px) {
  .toggle-content {
    padding: 1.6428571429rem 3.3571428571rem 0.5714285714rem 3.3571428571rem;
  }
}
.toggle-content::before {
  position: absolute;
  content: "";
  left: 0.1428571429rem;
  right: 0.1428571429rem;
  height: 2.2857142857rem;
  bottom: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.72) 32.69%, #FFFFFF 100%);
}
@media (min-width: 751px) {
  .toggle-content::before {
    bottom: 0.5714285714rem;
  }
}
.toggle-hide {
  display: none;
  padding: 1.6428571429rem 0 0 0;
}
@media (min-width: 751px) {
  .toggle-hide {
    padding: 1.7142857143rem 0 0 0;
  }
}
.toggle-hide .toggle-list {
  margin: 0;
}
.toggle-hide > .txt {
  margin: 0.2142857143rem 0 0 0;
}
@media (min-width: 751px) {
  .toggle-hide > .txt {
    margin: 0;
  }
}
.toggle-ttl {
  margin: 0 auto 1.7857142857rem auto;
}
@media (min-width: 751px) {
  .toggle-ttl {
    margin: 0 auto 1.7142857143rem auto;
  }
}
.toggle-photo img {
  border-radius: 1.7142857143rem;
}
.toggle .txt {
  color: #333;
}
.toggle-list {
  margin: 1.1428571429rem 0 0 0;
}
.toggle-list .list-item-ttl {
  background: #F3F9EE;
  border-radius: 1.1428571429rem;
  display: flex;
  padding: 0.5rem 0.5714285714rem 0.7142857143rem 0.5714285714rem;
  font-size: 1.1428571429rem;
  letter-spacing: 0.04em;
  font-weight: 700;
  height: 3.4285714286rem;
  box-sizing: border-box;
}
.toggle-list .list-item-ttl.has-border {
  border: 0.0714285714rem solid #000;
  padding: 0.6071428571rem 0.5rem 0.6071428571rem 0.5rem;
  font-size: 1rem;
  line-height: 1.55;
  letter-spacing: 0.04em;
}
.toggle-list .list-item-ttl.has-border .icon {
  margin: 0 0.2857142857rem 0 0;
}
.toggle-list .list-item-ttl span {
  margin: auto 0;
}
.toggle-list .list-item-ttl .icon {
  width: 2.2857142857rem;
  margin: -0.0714285714rem 0.2857142857rem 0 0;
}
.toggle-list .list-item-text {
  padding: 0.5714285714rem 0.5714285714rem 1.1428571429rem 0.5714285714rem;
}
.toggle-list .list-item-text .txt {
  line-height: 1.8;
}
.toggle-list .list-item-text .note {
  font-size: 0.8571428571rem;
  line-height: 1.4;
  letter-spacing: 0;
  margin: 0.5714285714rem 0 0 0;
}
.toggle-list .list-item-text .note span:first-child {
  margin: 0 0.2857142857rem 0 0;
}
.toggle-list .list-item + .list-item {
  margin: 0.2857142857rem 0 0 0;
}
.toggle-list .list-item:last-child .list-item-text {
  padding-bottom: 0;
  margin-bottom: -0.2142857143rem;
}
.txt + .toggle-list {
  margin: 1.2142857143rem 0 0 0;
}
.toggle .btn-viewmore {
  width: 2.8571428571rem;
  height: 2.8571428571rem;
  margin: 0 auto;
  background: #000;
  position: absolute;
  bottom: -1.4285714286rem;
  left: 0;
  right: 0;
  border-radius: 2.8571428571rem;
  border: 0.0714285714rem solid #000;
  box-sizing: border-box;
  cursor: pointer;
}
.toggle .btn-viewmore:focus-visible {
  outline: none;
}
.toggle .btn-viewmore::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 0.7142857143rem;
  height: 0.2142857143rem;
  background: #fff;
  border-radius: 0.1428571429rem;
  margin: auto;
}
@media screen and (max-width: 1365px) and (min-width: 751px) {
  .toggle .btn-viewmore::before {
    width: 10px;
    height: 3px;
  }
}
.toggle .btn-viewmore::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 0.7142857143rem;
  height: 0.2142857143rem;
  background: #fff;
  border-radius: 0.1428571429rem;
  margin: auto;
  transform: rotate(90deg);
}
@media screen and (max-width: 1365px) and (min-width: 751px) {
  .toggle .btn-viewmore::after {
    width: 10px;
    height: 3px;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .toggle .btn-viewmore:hover {
    background: #555555;
    transition: all 0.3s ease;
  }
}
.toggle.active .toggle-content {
  height: auto;
  overflow: visible;
}
.toggle.active .toggle-content::before {
  display: none;
}
.toggle.active .btn-viewmore::after {
  display: none;
}
.toggle + .toggle {
  margin-top: 2rem;
}

.about {
  position: relative;
  z-index: 1;
}

.flow {
  margin: 1.4285714286rem 0 0 0;
  padding: 4.5714285714rem 0 6.3571428571rem 0;
}
@media (min-width: 751px) {
  .flow {
    padding: 4.5714285714rem 0 0.6428571429rem 0;
  }
}
.flow-ttl {
  margin: 0 0.2857142857rem 2.8571428571rem 0.2857142857rem;
}
@media (min-width: 751px) {
  .flow-ttl {
    margin: 0 0.5714285714rem 2.7857142857rem 0.5714285714rem;
  }
}
.flow-content {
  position: relative;
}
.flow .slick-list {
  overflow: visible;
}
.flow .slick-track::before {
  position: absolute;
  content: "";
  display: block;
  background: url("../img/flow-line-sp.png") no-repeat left top;
  background-size: 80.3571428571rem;
  top: 5rem;
  left: 21.8571428571rem;
  right: 0;
  bottom: 0;
}
@media (min-width: 751px) {
  .flow .slick-track::before {
    background: url("../img/flow-line.png") no-repeat left top;
    background-size: 113.8571428571rem;
    top: 0.8571428571rem;
    left: 25.5714285714rem;
  }
}
.flow .slick-dots {
  position: relative;
  bottom: -0.6428571429rem;
  width: 19.1428571429rem;
  margin: 0 auto;
  gap: 1.2142857143rem;
  display: flex;
}
.flow .slick-dots::before {
  position: absolute;
  content: "";
  display: block;
  background: url("../common/img/dots-line.png") no-repeat center top;
  background-size: 15.5714285714rem;
  top: 0.8571428571rem;
  left: 1.3928571429rem;
  right: 0;
  bottom: 0;
}
.flow .slick-dots .dot-bg {
  position: absolute;
  display: block;
  background: #F5F3F1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all 0.3s ease;
}
.flow .slick-dots li {
  margin: 0;
  width: 2.8571428571rem;
  height: 2.8571428571rem;
  position: relative;
  z-index: 1;
}
.flow .slick-dots li button {
  width: 2.8571428571rem;
  height: 2.8571428571rem;
}
.flow .slick-dots li:nth-child(1) button {
  background: url("../common/img/btn01.png") no-repeat center center;
  background-size: 100%;
}
.flow .slick-dots li:nth-child(2) button {
  background: url("../common/img/btn02.png") no-repeat center center;
  background-size: 100%;
}
.flow .slick-dots li:nth-child(3) button {
  background: url("../common/img/btn03.png") no-repeat center center;
  background-size: 100%;
}
.flow .slick-dots li:nth-child(4) button {
  background: url("../common/img/btn04.png") no-repeat center center;
  background-size: 100%;
}
.flow .slick-dots li:nth-child(5) button {
  background: url("../common/img/btn05.png") no-repeat center center;
  background-size: 100%;
}
.flow .slider-flow {
  margin: 0 -1.4285714286rem;
}
.flow .slick-cloned {
  opacity: 0;
}
.flow-item {
  width: 21.0714285714rem;
  position: relative;
  background: #F3F9EE;
  border: 0.0714285714rem solid #000;
  border-radius: 1.7142857143rem;
  margin: 0 0.8571428571rem;
  padding: 3.4285714286rem 1.1428571429rem 1.6428571429rem 1.1428571429rem;
  box-sizing: border-box;
}
@media (min-width: 751px) {
  .flow-item {
    width: 31.1428571429rem;
  }
}
.flow-item .txt-green {
  font-weight: 700;
}
.flow-item-ttl {
  line-height: 0;
  position: absolute;
  top: -1.2142857143rem;
  left: -0.6428571429rem;
}
.flow-item-ttl img {
  width: auto;
  height: 3.4285714286rem;
}
.flow-deco {
  position: absolute;
  width: 8.4285714286rem;
  top: -7.8571428571rem;
  right: 0.8571428571rem;
  z-index: 1;
}
@media (min-width: 751px) {
  .flow-deco {
    top: -7.8571428571rem;
    right: 4.7857142857rem;
  }
}
.flow-item:nth-child(2) .flow-deco {
  top: -7.2857142857rem;
  right: -2.3571428571rem;
}
.flow-item:nth-child(4) .flow-deco {
  top: -7.4285714286rem;
  right: -1.2142857143rem;
}
.flow-item:nth-child(5) .flow-deco {
  top: -3.4285714286rem;
  right: -2.3571428571rem;
}

.counter {
  padding: 5.7142857143rem 0.2857142857rem 0 0.2857142857rem;
}
@media (min-width: 751px) {
  .counter {
    padding: 5.7142857143rem 0.5714285714rem 0 0.5714285714rem;
  }
}
.counter-ttl {
  margin: 0 auto 1.7142857143rem auto;
  transform: translate3d(0, 0, 0);
}
@media (min-width: 751px) {
  .counter-ttl img {
    width: 31.7142857143rem;
    height: 4.2142857143rem;
    transform: translate3d(0, 0, 0);
  }
}
.counter-item {
  padding: 1.5rem 0 0.8571428571rem 0;
}
.counter-item-ttl {
  margin: 0 0 0.7142857143rem 0;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.004em;
  font-weight: 700;
}
.counter-item-text {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.counter-item-txt {
  color: #333;
  width: 9.5714285714rem;
  display: flex;
  align-items: center;
  min-height: 3.1428571429rem;
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0;
  font-weight: 400;
}
@media (min-width: 751px) {
  .counter-item-txt {
    width: 13.7142857143rem;
  }
}
.counter-item-txt span {
  margin: auto 0;
}
.counter-item-txt:nth-child(n+3) {
  background: url("../common/img/line.png") repeat-x left top;
  background-size: auto 0.0714285714rem;
  padding: 0.5714285714rem 0 0.2857142857rem 0;
}
.counter-item-txt.b-bottom {
  position: relative;
}
.counter-item-txt.b-bottom::before {
  position: absolute;
  content: "";
  background: url("../common/img/line.png") repeat-x left bottom;
  background-size: auto 0.0714285714rem;
  left: 0;
  right: 0;
  bottom: -0.0714285714rem;
  height: 0.0714285714rem;
}
.counter-item + .counter-item {
  border-top: 0.0714285714rem solid #000;
}

.head-parent {
  padding: 1.0714285714rem 3.7142857143rem 1.0714285714rem 1.1428571429rem;
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  border-radius: 1.1428571429rem;
  transition: all 0.3s ease;
}
.head-parent:focus-visible {
  outline: none;
}
.head-parent::before, .head-parent::after {
  position: absolute;
  content: "";
  background: #6FBA2C;
  border-radius: 0.1428571429rem;
  top: 0;
  right: 1.6428571429rem;
  bottom: 0;
  height: 0.1428571429rem;
  width: 0.7142857143rem;
  margin: auto 0;
}
@media screen and (max-width: 1365px) and (min-width: 751px) {
  .head-parent::before, .head-parent::after {
    width: 10px;
    height: 2px;
  }
}
.head-parent::after {
  transform: rotate(90deg);
}
@media (min-width: 751px) {
  .head-parent:hover {
    background: #F3F9EE;
  }
}
.head-parent span {
  font-size: 1.1428571429rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.004em;
}

.level-1 {
  border: 0.0714285714rem solid #000;
  background: #fff;
  border-radius: 1.1428571429rem;
}
.level-1-content {
  display: none;
  padding: 0 1.7142857143rem 1.1428571429rem 1.7142857143rem;
}
.level-1.active .head-parent::after {
  transform: rotate(0deg);
}
.level-1 + .level-1 {
  margin: 0.5714285714rem 0 0 0;
}

.head-btn {
  padding: 0.8571428571rem 3.7142857143rem 0.7857142857rem 1.0714285714rem;
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  border-radius: 1.1428571429rem;
  transition: all 0.3s ease;
}
@media (min-width: 751px) {
  .head-btn {
    height: 4.4285714286rem;
  }
}
.head-btn:focus-visible {
  outline: none;
}
.head-btn::before, .head-btn::after {
  position: absolute;
  content: "";
  background: #6FBA2C;
  border-radius: 0.1428571429rem;
  top: 0;
  right: 1.6428571429rem;
  bottom: 0;
  height: 0.1428571429rem;
  width: 0.7142857143rem;
  margin: auto 0;
}
@media screen and (max-width: 1365px) and (min-width: 751px) {
  .head-btn::before, .head-btn::after {
    width: 10px;
    height: 2px;
  }
}
.head-btn::after {
  transform: rotate(90deg);
}
@media (min-width: 751px) {
  .head-btn:hover {
    background: #F3F9EE;
  }
}
.head-btn .q {
  width: 1.0714285714rem;
  margin: auto 0.8571428571rem auto 0;
}
.head-btn .q img {
  margin: -0.3571428571rem 0 0 0;
}
.head-btn .q-txt {
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.04em;
  width: 16rem;
  margin: auto 0;
}
@media (min-width: 751px) {
  .head-btn .q-txt {
    width: 24.3571428571rem;
  }
}

.level-2 {
  border: 0.0714285714rem solid #000;
  background: #fff;
  border-radius: 1.1428571429rem;
}
.level-2-content {
  display: none;
  padding: 0 1.1428571429rem 1.1428571429rem 1.1428571429rem;
}
.level-2-content .desc {
  display: flex;
  padding: 1.2857142857rem 0 0 0;
  background: url("../common/img/line.png") repeat-x left top;
  background-size: auto 0.0714285714rem;
  margin: 0.2857142857rem 0 0 0;
}
.level-2-content .desc .a {
  width: 1.0714285714rem;
  margin: auto 0.8571428571rem auto 0;
}
.level-2-content .desc .a img {
  margin: -0.4285714286rem 0 0 0;
}
.level-2-content .desc .a-txt {
  font-size: 1rem;
  line-height: 1.4;
  letter-spacing: 0.09em;
  width: 18.5714285714rem;
  margin: 0;
}
@media (min-width: 751px) {
  .level-2-content .desc .a-txt {
    width: 26.9285714286rem;
    letter-spacing: 0.04em;
    text-align: justify;
  }
}
.level-2-content .desc .a-txt p + p {
  margin: 0.6428571429rem 0 0 0;
}
@media (min-width: 751px) {
  .level-2-content .desc .a-txt p + p {
    margin: 0.6428571429rem 0 0 0;
  }
}
.level-2-content .desc .a-txt .note {
  font-size: 0.7857142857rem;
  letter-spacing: 0;
  line-height: 1.4;
  display: flex;
  color: #555555;
}
.level-2-content a {
  text-decoration: underline;
}
.level-2.active .head-btn::after {
  transform: rotate(0deg);
}
.level-2 + .level-2 {
  margin: 0.2857142857rem 0 0 0;
}

.lesson {
  padding: 5.7142857143rem 0.2857142857rem 0 0.2857142857rem;
}
@media (min-width: 751px) {
  .lesson {
    padding: 5.7142857143rem 0.5714285714rem 0 0.5714285714rem;
  }
}
.lesson-ttl {
  margin: 0 auto 1.7142857143rem auto;
}
@media (min-width: 751px) {
  .lesson-ttl {
    margin: 0 auto 1.6428571429rem auto;
  }
}
.lesson-sub-ttl {
  margin: 0 auto 0.7857142857rem auto;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
@media (min-width: 751px) {
  .lesson-sub-ttl {
    margin: 0 auto 0.7142857143rem auto;
  }
}
.lesson-sub-ttl img {
  width: auto;
  height: 1.5714285714rem;
  opacity: 1;
  transform: translateY(100%);
}
.lesson-sub-ttl[style*=visible] img {
  opacity: 1;
  transform: translateY(0);
}
.lesson-sub-ttl[style*=visible] img:nth-child(1) {
  transition: all 0.25s ease-in calc(1 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(2) {
  transition: all 0.25s ease-in calc(2 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(3) {
  transition: all 0.25s ease-in calc(3 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(4) {
  transition: all 0.25s ease-in calc(4 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(5) {
  transition: all 0.25s ease-in calc(5 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(6) {
  transition: all 0.25s ease-in calc(6 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(7) {
  transition: all 0.25s ease-in calc(7 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(8) {
  transition: all 0.25s ease-in calc(8 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(9) {
  transition: all 0.25s ease-in calc(9 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(10) {
  transition: all 0.25s ease-in calc(10 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(11) {
  transition: all 0.25s ease-in calc(11 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(12) {
  transition: all 0.25s ease-in calc(12 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(13) {
  transition: all 0.25s ease-in calc(13 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(14) {
  transition: all 0.25s ease-in calc(14 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(15) {
  transition: all 0.25s ease-in calc(15 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(16) {
  transition: all 0.25s ease-in calc(16 * 0.025s + 0.025s);
}
.lesson-sub-ttl[style*=visible] img:nth-child(17) {
  transition: all 0.25s ease-in calc(17 * 0.025s + 0.025s);
}
.lesson .toggle-list {
  margin: 0.6428571429rem 0 0 0;
}
@media (min-width: 751px) {
  .lesson .toggle-list .list-item-ttl span:nth-child(2) {
    margin: auto;
    padding: 0.1428571429rem 2.8571428571rem 0 0;
  }
}
.lesson-slider {
  margin: 2.2142857143rem -1.7142857143rem;
}
@media (min-width: 751px) {
  .lesson-slider {
    margin: 2.2857142857rem -3.4285714286rem;
  }
}
.lesson-item {
  width: 21.0714285714rem;
  margin: 0 0.2857142857rem;
}
@media (min-width: 751px) {
  .lesson-item {
    width: 24rem;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .lesson-item:hover {
    opacity: 0.8;
    transition: all 0.3s ease;
  }
}
.lesson .btn-cus02 {
  margin: 0 auto;
}

.faq {
  padding: 5.7142857143rem 0.2857142857rem;
}
@media (min-width: 751px) {
  .faq {
    padding: 5.7142857143rem 0.5714285714rem 0 0.5714285714rem;
  }
}
.faq-ttl {
  margin: 0 auto 1.7142857143rem auto;
}
@media (min-width: 751px) {
  .faq-ttl {
    margin: 0 auto 1.6428571429rem auto;
  }
}

.ani-icon {
  animation: 2s ease-in-out infinite alternate iconAnime;
}

@-webkit-keyframes iconAnime {
  from {
    -webkit-transform: translateY(-0.3571428571rem);
    transform: translateY(-0.3571428571rem);
  }
  to {
    -webkit-transform: translateY(0.3571428571rem);
    transform: translateY(0.3571428571rem);
  }
}
@keyframes iconAnime {
  from {
    -webkit-transform: translateY(-0.3571428571rem);
    transform: translateY(-0.3571428571rem);
  }
  to {
    -webkit-transform: translateY(0.3571428571rem);
    transform: translateY(0.3571428571rem);
  }
}
.flow-deco {
  animation: 5s ease-in-out infinite alternate iconAnimeFlow;
}

@-webkit-keyframes iconAnimeFlow {
  from {
    -webkit-transform: translateY(-0.7142857143rem);
    transform: translateY(-0.7142857143rem);
  }
  to {
    -webkit-transform: translateY(0.7142857143rem);
    transform: translateY(0.7142857143rem);
  }
}
@keyframes iconAnimeFlow {
  from {
    -webkit-transform: translateY(-0.7142857143rem);
    transform: translateY(-0.7142857143rem);
  }
  to {
    -webkit-transform: translateY(0.7142857143rem);
    transform: translateY(0.7142857143rem);
  }
}