@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
  v2.0 | 20110126
  License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
strike,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

body {
  background-color: #e5f6f8;
  color: #5d462a;
  font-family: "Noto Sans JP", sans-serif;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 0.9375rem;
  font-weight: bold;
  line-height: 1.5;
}

.wrapper {
  overflow-x: hidden;
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  position: relative;
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease-in;
}
a:focus {
  opacity: 0.7;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

@media screen and (min-width: 768px), print {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}
img.full-size {
  width: 100%;
}

input {
  margin: 0;
  padding: 0;
}

textarea {
  color: inherit;
  font: inherit;
  padding: 0;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-weight: inherit;
  padding: 0;
}

.header {
  padding: min(3.2142857143vw, 45px) min(3.2142857143vw, 45px) 10px;
  position: relative;
  width: 100%;
}

header.js-animation.is-show {
  -webkit-filter: none;
  filter: none;
}

.header__inner {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: auto;
}

.header__sns {
  display: flex;
  margin-left: 40px;
}
.header__sns a {
  display: block;
  padding: 0 8px;
}
.header__sns a img {
  width: clamp(22px, 1.7391304348vw, 42px);
}
@media not all and (min-width: 1200px), print {
  .header__sns:first-of-type {
    display: none;
  }
}

.gnav {
  margin-left: 9.5419847328%;
  position: relative;
}
@media not all and (min-width: 1200px), print {
  .gnav {
    display: none;
  }
}

.header__logo {
  left: 70px;
  position: absolute;
  top: 50px;
  width: clamp(200px, 10.4347826087vw, 252px);
}
@media not all and (min-width: 1200px), print {
  .header__logo {
    width: min(37.3333333333vw, 200px);
  }
}
@media not all and (min-width: 1200px), print {
  .header__logo {
    left: 15px;
    top: 15px;
  }
}

.gnav__item {
  position: relative;
}

.gnav__link {
  display: flex;
  flex-direction: column-reverse;
  line-height: 1.2;
  padding: 0 0.4666666667em;
  text-align: center;
}
.gnav__link span {
  display: inline-block;
  margin: 0 auto 8px;
  width: 50%;
}
.gnav__link span img {
  width: 100%;
}

.gnav__list {
  display: flex;
}

.js-menu-target {
  -webkit-transform: translateX(-50%);
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 93px;
  transform: translateX(-50%);
  transition: opacity 0.2s ease;
  visibility: hidden;
}

.gnav-sub {
  background-color: #589e42;
  border-radius: 10px;
  margin-inline: auto;
  margin-top: 35px;
  padding: 30px 20px 20px;
  width: 750px;
  z-index: 2;
}
.gnav-sub::before {
  -webkit-transform: translateY(-50%);
  border-color: transparent transparent #589e42 transparent;
  border-style: solid;
  border-width: 0 15px 23px 15px;
  content: "";
  display: block;
  height: 0;
  left: 48%;
  position: absolute;
  top: 25px;
  transform: translateY(-50%);
  width: 0;
}

.gnav-sub__list {
  display: flex;
  justify-content: center;
}

.gnav-sub__item {
  max-width: 215px;
}
.gnav-sub__item:not(:first-child) {
  margin-left: 20px;
}

.gnav-sub__img {
  border: 3px solid #fff;
  border-radius: 10px;
}
.gnav-sub__img img {
  -o-object-fit: cover;
  aspect-ratio: 215/115;
  border-radius: 10px;
  object-fit: cover;
  width: 100%;
}

.gnav-sub__ttl {
  color: #ffffff;
  letter-spacing: -0.06em;
  padding: 10px 0 10px 25px;
  position: relative;
  white-space: nowrap;
}
.gnav-sub__ttl .gnav-sub__arrow {
  background-color: #fff;
  border-radius: 50%;
  display: inline-block;
  display: -ms-grid;
  display: grid;
  height: 15px;
  left: 5px;
  place-items: center;
  position: absolute;
  top: 15px;
  width: 15px;
}
.gnav-sub__ttl .gnav-sub__arrow::after {
  -webkit-transform: rotate(45deg);
  border-right: 1px solid #589e42;
  border-top: 1px solid #589e42;
  content: "";
  height: 6px;
  margin-left: -3px;
  transform: rotate(45deg);
  width: 6px;
}

.bg-header-menu-button {
  background: url(../img/common/bg_menu_button.png) 100% 100%/cover no-repeat;
  height: 155px;
  position: fixed;
  right: 0;
  right: -57px;
  top: -43px;
  width: 190px;
}
@media screen and (min-width: 1200px), print {
  .bg-header-menu-button {
    height: clamp(200px, 19.7879858657vw, 280px);
    right: -131px;
    top: -68px;
    width: clamp(263px, 24.2402826855vw, 343px);
  }
}

.menuWrapper {
  -webkit-overflow-scrolling: touch;
  height: 100svh;
  left: 0;
  opacity: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 165px 20px 65px;
  position: fixed;
  top: 0;
  visibility: hidden;
  width: 100%;
}
@media screen and (min-width: 1200px), print {
  .menuWrapper {
    padding: min(12.4223602484vw, 300px) min(6.2111801242vw, 150px) min(8.281573499vw, 200px) min(2.8985507246vw, 70px);
  }
}
@media screen and (min-width: 1200px), print {
  .menuWrapper::before {
    background: url(../img/common/bg_menu.png) center/cover no-repeat;
    content: "";
    display: block;
    height: 19.4616977226vw;
    left: 0;
    position: absolute;
    top: 70px;
    width: 69.1511387164vw;
  }
}
@media not all and (min-width: 1200px), print {
  .menuWrapper::before {
    display: none;
  }
}
.menuWrapper .h-underline::after {
  background-color: #589e42;
}

@media screen and (min-width: 1200px), print {
  .menu-illust {
    left: 4.1407867495vw;
    min-height: 0.01vw;
    position: absolute;
    top: min(22.3602484472vw, 540px);
    width: 28.7784679089vw;
    width: clamp(414px, 28.7784679089vw, 695px);
  }
}
@media not all and (min-width: 1200px), print {
  .menu-illust {
    display: none;
  }
}

.menu-illust01 {
  left: 38px;
  top: 62px;
  width: clamp(30px, 2.8985507246vw, 70px);
}
@media screen and (min-width: 768px), print {
  .menu-illust01 {
    top: 45px;
  }
}
@media screen and (min-width: 1200px), print {
  .menu-illust01 {
    display: none;
    left: 11.5942028986vw;
    top: min(31.0559006211vw, 750px);
  }
}

.menu-illust02 {
  left: 80px;
  top: 63px;
  width: clamp(33px, 2.6915113872vw, 65px);
}
@media screen and (min-width: 1200px), print {
  .menu-illust02 {
    top: 45px;
  }
}
@media screen and (min-width: 1200px), print {
  .menu-illust02 {
    left: 25.0517598344vw;
    top: min(35.1966873706vw, 850px);
  }
}

.menu-illust03 {
  left: 20.4968944099vw;
  top: 10.7660455487vw;
  width: min(6.6252587992vw, 160px);
}
@media not all and (min-width: 1200px), print {
  .menu-illust03 {
    display: none;
  }
}

.menu-illust04 {
  width: 67px;
}
@media screen and (min-width: 1200px), print {
  .menu-illust04 {
    left: 21.9461697723vw;
    top: min(36.0248447205vw, 870px);
  }
}
@media not all and (min-width: 1200px), print {
  .menu-illust04 {
    display: none;
  }
}

.menu {
  background-color: #fff;
  border: solid 6px #f6f5f4;
  border-radius: 20px;
  padding: clamp(20px, 2.4844720497vw, 60px) clamp(30px, 1.6563146998vw, 40px) 100px;
  position: relative;
}
@media screen and (min-width: 1200px), print {
  .menu {
    margin-left: auto;
    padding: clamp(20px, 2.4844720497vw, 60px) clamp(20px, 1.6563146998vw, 40px) clamp(37px, 2.4844720497vw, 60px);
    width: clamp(617px, 54.4513457557vw, 1400px);
  }
}

.menu__list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px), print {
  .menu__list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.menu__item {
  align-items: center;
  display: flex;
  margin-top: clamp(25px, 2.4844720497vw, 60px);
}
@media screen and (min-width: 768px), print {
  .menu__item {
    width: 46%;
  }
}
@media screen and (min-width: 768px), print {
  .menu__item:nth-child(4) {
    align-items: baseline;
  }
}
.menu__item:nth-child(6) {
  border-top: 2px solid #f5f4f3;
}
@media screen and (min-width: 768px), print {
  .menu__item:nth-child(6) {
    margin-top: -13px;
  }
}
@media not all and (min-width: 768px), print {
  .menu__item:nth-child(1) {
    order: -2;
  }
  .menu__item:nth-child(3) {
    order: -1;
  }
  .menu__item:nth-child(5) {
    order: -1;
  }
}

.menu__icon {
  flex-shrink: 0;
  width: clamp(30px, 3.7267080745vw, 90px);
}

.menu__link {
  font-size: clamp(1.25rem, 1.6563146998vw, 2.5rem);
  line-height: 1.2;
  margin-left: 0.5em;
}

.menu__sublist {
  font-size: clamp(0.9375rem, 1.0351966874vw, 1.5625rem);
  line-height: 1.7;
  margin-top: 0.6em;
  padding-left: 2.2em;
}
.menu__sublist li {
  font-size: clamp(0.90rem, 1.0351966874vw, 1.5625rem);
}
@media screen and (min-width: 768px), print {
  .menu__sublist li {
    margin-left: 1em;
    white-space: nowrap;
  }
}
.menu__sublist li::before {
  background-color: #80aa5a;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 0.52em;
  margin-right: 10px;
  vertical-align: middle;
  width: 0.52em;
}

.menuCvarea .header__sns {
  margin-left: 0.7em;
  margin-top: clamp(20px, 1.6563146998vw, 40px);
}
@media not all and (min-width: 768px), print {
  .menuCvarea .header__sns img {
    width: 28px;
  }
}
@media not all and (min-width: 768px), print {
  .menuCvarea {
    margin-top: 25px;
  }
}

.menuCvarea__link {
  list-style: none;
}
.menuCvarea__link li {
  font-size: clamp(0.9rem, 1.0351966874vw, 1.5625rem);
  margin-left: 1em;
  min-height: 0.01vw;
}
.menuCvarea__link li + li {
  margin-top: 0.8em;
}

.menuCvarea__illust {
  bottom: 37px;
  position: absolute;
  right: 40px;
  width: clamp(60px, 5.2587991718vw, 127px);
}
@media screen and (min-width: 768px), print {
  .menuCvarea__illust {
    bottom: 1.6563146998vw;
    right: 3.7267080745vw;
  }
}

.header-overlay {
  -webkit-transform: scale(0);
  background-color: #80a95a;
  border-radius: 50%;
  height: 200px;
  position: absolute;
  right: -50px;
  top: -50px;
  transform: scale(0);
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
  width: 200px;
  z-index: 3;
}

.header-menu-button {
  -webkit-transform: translate(-50%, -50%);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: block;
  left: 48%;
  margin: 0;
  outline: none;
  padding: 15px;
  position: absolute;
  top: 60%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 1200px), print {
  .header-menu-button {
    left: 35%;
  }
}
.header-menu-button__lines {
  display: block;
  height: 20px;
  margin-inline: auto;
  position: relative;
  width: 30px;
}
.header-menu-button__line {
  background-color: #fff;
  display: block;
  height: 0;
  left: 0;
  padding-top: 2px;
  position: absolute;
  width: 100%;
}
.header-menu-button__line--top {
  -webkit-animation: line1-off 0.6s forwards;
  animation: line1-off 0.6s forwards;
}
.is-sp-menu-opened .header-menu-button__line--top {
  -webkit-animation: line1-on 0.6s forwards;
  animation: line1-on 0.6s forwards;
}

.header-menu-button__line--center {
  margin-top: -1px;
  top: 50%;
  transition: all 0.2s 0.2s;
}
.is-sp-menu-opened .header-menu-button__line--center {
  background-color: rgba(0, 0, 0, 0);
  opacity: 0;
}

.header-menu-button__line--bottom {
  -webkit-animation: line2-off 0.6s forwards;
  animation: line2-off 0.6s forwards;
}
.is-sp-menu-opened .header-menu-button__line--bottom {
  -webkit-animation: line2-on 0.6s forwards;
  animation: line2-on 0.6s forwards;
}

.header-menu-button__text {
  color: #ffffff;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (min-width: 768px), print {
  .header-menu-button__text {
    font-size: 1rem;
  }
}
.header-menu-button__text.--close {
  display: none;
}

@-webkit-keyframes line1-on {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    top: 0;
    transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-50%) rotate(0);
    top: 50%;
    transform: translateY(-50%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-50%) rotate(45deg);
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
}

@keyframes line1-on {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    top: 0;
    transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-50%) rotate(0);
    top: 50%;
    transform: translateY(-50%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-50%) rotate(45deg);
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
}
@-webkit-keyframes line1-off {
  0% {
    -webkit-transform: translateY(-50%) rotate(45deg);
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(-50%) rotate(0);
    top: 50%;
    transform: translateY(-50%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
    top: 0;
    transform: translateY(0) rotate(0);
  }
}
@keyframes line1-off {
  0% {
    -webkit-transform: translateY(-50%) rotate(45deg);
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(-50%) rotate(0);
    top: 50%;
    transform: translateY(-50%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
    top: 0;
    transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes line2-on {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    bottom: 0;
    transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(50%) rotate(0);
    bottom: 50%;
    transform: translateY(50%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(50%) rotate(-45deg);
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
}
@keyframes line2-on {
  0% {
    -webkit-transform: translateY(0) rotate(0);
    bottom: 0;
    transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(50%) rotate(0);
    bottom: 50%;
    transform: translateY(50%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(50%) rotate(-45deg);
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
}
@-webkit-keyframes line2-off {
  0% {
    -webkit-transform: translateY(50%) rotate(-45deg);
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(50%) rotate(0);
    bottom: 50%;
    transform: translateY(50%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
    bottom: 0;
    transform: translateY(0) rotate(0);
  }
}
@keyframes line2-off {
  0% {
    -webkit-transform: translateY(50%) rotate(-45deg);
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(50%) rotate(0);
    bottom: 50%;
    transform: translateY(50%) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
    bottom: 0;
    transform: translateY(0) rotate(0);
  }
}
.l-header-overlay {
  height: 60px;
  position: fixed;
  right: 20px;
  top: 10px;
  width: 60px;
}
.l-header-overlay__inner {
  -webkit-transform: translate(-50%, -50%);
  background-color: #80a95a;
  border-radius: 50%;
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.5s, height 0.5s;
  width: 100%;
}

.footer {
  overflow: hidden;
  padding: 17px 30px 52px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .footer {
    padding: 45px 0 75px;
  }
}
.footer .illust {
  width: min(63.2vw, 300px);
}
@media screen and (min-width: 768px), print {
  .footer .illust {
    width: min(35vw, 650px);
  }
}

.footer__inner {
  margin-inline: auto;
  max-width: 940px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .footer__inner {
    display: flex;
    justify-content: space-between;
  }
}

.footer__top {
  align-items: center;
  background: url(../img/common/bg_address_sp.png) center/cover no-repeat;
  display: flex;
  flex-direction: column;
  height: 296px;
  justify-content: center;
  margin-inline: auto;
  width: 315px;
}
@media screen and (min-width: 768px), print {
  .footer__top {
    background: url(../img/common/bg_address.png) center/cover no-repeat;
    flex-direction: row;
    height: 260px;
    padding: 48px 0 58px 0;
    width: 52.7659574468%;
  }
}
@media not all and (min-width: 768px), print {
  .footer__top {
    text-align: center;
  }
}
@media screen and (min-width: 768px), print {
  .footer__top .access {
    margin-left: 35px;
  }
}
@media not all and (min-width: 768px), print {
  .footer__top .access {
    margin-top: 25px;
  }
}
.footer__top .access .telbox::before {
  background: url(../img/common/dot_footer.png) center/100% 100% no-repeat;
  content: "";
  display: block;
  height: 5px;
  margin-bottom: 12px;
  margin-top: 12px;
  width: min(48vw, 180px);
}
@media screen and (min-width: 768px), print {
  .footer__top .access .telbox::before {
    margin-bottom: 25px;
    margin-top: 25px;
    width: min(12.8571428571vw, 180px);
  }
}
@media not all and (min-width: 768px), print {
  .footer__top .access .telbox::before {
    margin-inline: auto;
  }
}
@media not all and (min-width: 768px), print {
  .footer__top .access .read {
    line-height: 1.8;
  }
}

@media not all and (min-width: 768px), print {
  .footer__logo {
    width: 87px;
  }
}

.ftgnav {
  display: flex;
  justify-content: space-between;
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .ftgnav {
    width: 40.4255319149%;
  }
}
@media not all and (min-width: 768px), print {
  .ftgnav {
    margin-top: 38px;
  }
}

.ftgnav__link {
  display: inline-block;
  font-size: 0.75rem;
  padding: 5px 0;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .ftgnav__link {
    font-size: 0.875rem;
    padding: 10px 0;
  }
}

.copyright {
  font-size: 0.75rem;
  margin-top: 207px;
}
@media screen and (min-width: 768px), print {
  .copyright {
    margin-top: 150px;
  }
}

.footer__illust01 {
  bottom: 77px;
  left: -60px;
}
@media screen and (min-width: 768px), print {
  .footer__illust01 {
    bottom: 52px;
    left: -120px;
  }
}

.footer__illust02 {
  bottom: 85px;
  right: -70px;
}
@media screen and (min-width: 768px), print {
  .footer__illust02 {
    bottom: 50px;
    right: -139px;
  }
}

.container {
  margin-inline: auto;
  max-width: 1230px;
  padding-left: 30px;
  padding-right: 30px;
}
.container.--primary {
  margin-inline: auto;
  max-width: 1048px;
  padding-left: 15px;
  padding-right: 15px;
}

.grid {
  display: -ms-grid;
  display: grid;
  gap: 30px;
}

@media screen and (min-width: 768px), print {
  .grid--pc4col {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

@media screen and (min-width: 768px), print {
  .grid--pc3col {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (min-width: 768px), print {
  .grid--pc2col {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

.heading {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
}
.heading::after {
  background: url(../img/common/dotline.svg) center/cover no-repeat;
  content: "";
  display: block;
  height: 10px;
  margin-left: 22px;
  margin-top: 20px;
  width: 100px;
}
.heading + * {
  margin-top: 20px;
}
@media screen and (min-width: 768px), print {
  .heading + * {
    margin-top: 40px;
  }
}
.heading.--lg .heading__main {
  line-height: 1.2045454545;
}
@media screen and (min-width: 768px), print {
  .heading.--lg .heading__main {
    font-size: 2.75rem;
  }
}

.heading__main {
  font-size: 1.625rem;
  line-height: 1.1944444444;
}
@media screen and (min-width: 768px), print {
  .heading__main {
    font-size: 2.25rem;
  }
}
.heading__main::before {
  background: url(../img/common/illust_bird.svg) center/cover no-repeat;
  content: "";
  display: block;
  height: 32px;
  margin-bottom: 16px;
  margin-inline: auto;
  width: 42px;
}
@media screen and (min-width: 768px), print {
  .heading__main::before {
    height: 37px;
    margin-bottom: 5px;
    width: 48px;
  }
}

.heading__sub {
  margin-bottom: 1.3333333333em;
  position: relative;
}
.heading__sub::before, .heading__sub::after {
  background-color: currentColor;
  content: "";
  display: block;
  height: 23px;
  position: absolute;
  width: 2px;
}
.heading__sub::before {
  left: -10px;
}
.heading__sub::after {
  right: -10px;
}

.read {
  line-height: 2.3;
}

.page-header__title {
  font-weight: bold;
  padding-top: 110px;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .page-header__title {
    padding-top: 12.8571428571vw;
  }
}

.page-header__titleMain {
  font-size: 1.625rem;
  line-height: 1.2;
}
@media screen and (min-width: 768px), print {
  .page-header__titleMain {
    font-size: 2.5rem;
  }
}

.page-header__titleSub {
  color: #589e42;
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  margin-top: 0.35em;
  text-transform: uppercase;
}
@media screen and (min-width: 768px), print {
  .page-header__titleSub {
    font-size: 1.25rem;
  }
}

.btn {
  cursor: pointer;
  display: block;
  text-align: center;
  width: 100%;
}
.btn.--center {
  margin-inline: auto;
}

.arrow {
  background-color: #fff;
  border-radius: 50%;
  display: -ms-grid;
  display: grid;
  height: 38px;
  place-items: center;
  transition: background-color 0.3s ease-in;
  width: 38px;
}
.arrow::after {
  -webkit-mask: url(../img/common/arrow.svg) center/contain no-repeat;
  background: #5a41aa;
  content: "";
  display: block;
  height: 10px;
  mask: url(../img/common/arrow.svg) center/contain no-repeat;
  width: 12px;
}

.btn--default {
  background: url(../img/common/bg_btn.png) center/cover no-repeat;
  border: 4px solid #f8f6f5;
  border-radius: 40px;
  color: #fff;
  display: flex;
  font-size: 1.25rem;
  justify-content: space-between;
  letter-spacing: 0.1em;
  line-height: 1.2;
  padding: 25px 20px 25px 71px;
  position: relative;
  transition: border-color 0.3s ease-in;
}
.btn--default .text {
  display: inline-block;
  position: relative;
  transition: color 0.3s ease-in;
  z-index: 5;
}
.btn--default::after {
  background-color: #fff;
  border-radius: 40px;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: background-color 0.3s ease-in;
  transition-duration: 0.3s;
  width: 100%;
  z-index: -1;
}
@media not all and (min-width: 768px), print {
  .btn--default {
    max-width: 320px;
  }
}
.btn--default .arrow {
  -webkit-transform: translateY(-50%);
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}

/*  .js-pagetop-threshold
--------------------------------------------- */
.js-pagetop-threshold {
  height: 300px;
  position: absolute;
  top: 0;
}

/*  footer-pagetop
--------------------------------------------- */
.footer-pagetop {
  bottom: 1rem;
  opacity: 0;
  position: fixed;
  right: 1rem;
  transition: 0.5s;
  visibility: hidden;
  z-index: 99;
}
.footer-pagetop.is-show {
  opacity: 1;
  visibility: visible;
}

.footer-pagetop {
  width: 50px;
}
.footer-pagetop__link {
  background-color: #007bbb;
  display: block;
  height: 0;
  overflow: hidden;
  padding-top: 50px;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .footer-pagetop__link {
    transition: opacity 0.3s;
  }
  .footer-pagetop__link:hover {
    opacity: 0.8;
  }
}
.footer-pagetop__link::after {
  -webkit-transform: rotate(45deg);
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  box-sizing: border-box;
  content: "";
  display: block;
  height: 18px;
  left: 16px;
  position: absolute;
  top: 22px;
  transform: rotate(45deg);
  width: 18px;
}

.fv-wrap {
  overflow: hidden;
  padding-bottom: 50px;
  position: relative;
}
@media not all and (min-width: 768px), print {
  .fv-wrap {
    padding-bottom: 420px;
  }
}

.img-clip {
  -webkit-clip-path: url(#clip-pathsp);
  clip-path: url(#clip-pathsp);
  overflow: hidden;
}
@media screen and (min-width: 768px), print {
  .img-clip {
    -webkit-clip-path: url(#clip-path);
    clip-path: url(#clip-path);
  }
}
.img-clip img {
  -o-object-fit: cover;
  aspect-ratio: 345/434;
  object-fit: cover;
}
@media screen and (min-width: 768px), print {
  .img-clip img {
    aspect-ratio: 2140/1075;
  }
}
@media not all and (min-width: 768px), print {
  .img-clip img {
    -o-object-position: left;
    object-position: left;
  }
}

.fv__title {
  align-items: flex-start;
  bottom: 25vw;
  display: flex;
  flex-direction: row-reverse;
  left: 10.2vw;
  position: absolute;
  white-space: nowrap;
}
@media screen and (min-width: 768px), print {
  .fv__title {
    bottom: -1.5714285714vw;
    left: 16.6428571429vw;
    width: 95px;
  }
}
.fv__title span {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-clip-path: inset(0 0 100% 0);
  background-color: #fff;
  border-radius: 10px;
  clip-path: inset(0 0 100% 0);
  display: inline-block;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 15px 12px 20px;
  position: relative;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 768px), print {
  .fv__title span {
    padding: 12px 12px 25px;
  }
}
.fv__title .fv__title-sub {
  font-size: max(1.4375rem, min(2.1428571429vw, 3.125rem));
  margin-left: -5px;
}
.fv__title .fv__title-main {
  font-size: max(2.125rem, min(3.2142857143vw, 4.6875rem));
  margin-top: max(25px, min(3.5714285714vw, 50px));
}
.fv__title.js-animation.is-show span {
  -webkit-animation: slidedown 0.7s linear forwards;
  animation: slidedown 0.7s linear forwards;
}
.fv__title.js-animation.is-show .fv__title-sub {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
.fv__title.js-animation.is-show .fv__title-main {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.fv {
  padding-top: 95px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .fv {
    padding-top: 160px;
  }
}
.fv img {
  width: 100%;
}

.fvbg {
  left: -19.7333333333vw;
  position: absolute;
  top: -6.1333333333vw;
  width: 137.8666666667vw;
}
@media screen and (min-width: 576px), print {
  .fvbg {
    top: -34.7222222222vw;
  }
}
@media screen and (min-width: 768px), print {
  .fvbg {
    left: -10.7142857143vw;
    top: -5.8571428571vw;
    width: 121.2857142857vw;
  }
}
.fvbg img {
  width: 100%;
}

.fv__illust01 {
  bottom: 18.2857142857vw;
  right: 3.0714285714vw;
  width: 6.7142857143vw;
}

.fv__illust02 {
  left: 0;
  top: 37.3333333333vw;
  width: 16.5333333333vw;
}
@media screen and (min-width: 768px), print {
  .fv__illust02 {
    bottom: 11.7857142857vw;
    left: 4.0714285714vw;
    top: auto;
    width: 6.7142857143vw;
  }
}

.fv__illust03 {
  left: 12.8vw;
  top: 29.3333333333vw;
  width: 11.2vw;
}
@media screen and (min-width: 768px), print {
  .fv__illust03 {
    bottom: 23.9285714286vw;
    left: 8.5714285714vw;
    top: auto;
    width: 4.0714285714vw;
  }
}

.fv__illust04 {
  bottom: 385px;
  left: 3.2vw;
  width: 20.2666666667vw;
}
@media screen and (min-width: 768px), print {
  .fv__illust04 {
    bottom: 2vw;
    left: 25vw;
    width: 7.1428571429vw;
  }
}

.fv__illust05 {
  bottom: 100vw;
  bottom: 375px;
  left: 22.1333333333vw;
  width: 16.8vw;
}
@media screen and (min-width: 768px), print {
  .fv__illust05 {
    bottom: 2.3571428571vw;
    left: 33.9285714286vw;
    width: 7.8571428571vw;
  }
}
.fv__illust05 .stepup {
  -webkit-animation-duration: 1.9s;
  animation-duration: 1.9s;
}

.fv__illust06 {
  bottom: 100vw;
  bottom: 375px;
  left: 41.3333333333vw;
  width: 14.6666666667vw;
}
@media screen and (min-width: 768px), print {
  .fv__illust06 {
    bottom: 2.5vw;
    left: 42.2857142857vw;
    width: 7.5vw;
  }
}
.fv__illust06 .stepup {
  transition-delay: 2.18s;
}

.fv__illust07 {
  bottom: 129.3333333333vw;
  bottom: 485px;
  left: 4.8vw;
  width: 10.6666666667vw;
}
@media screen and (min-width: 768px), print {
  .fv__illust07 {
    bottom: 5.1428571429vw;
    left: 10.5vw;
    width: 3.5714285714vw;
  }
}

.illust.fv__illust08,
.illust.fv__illust09 {
  width: 12vw;
}
@media screen and (min-width: 768px), print {
  .illust.fv__illust08,
  .illust.fv__illust09 {
    right: 9.5vw;
    top: 16.7857142857vw;
    width: 4.2857142857vw;
  }
}

.illust.fv__illust09 {
  right: 2.6666666667vw;
  top: 42vw;
}
@media screen and (min-width: 768px), print {
  .illust.fv__illust09 {
    right: 5.3571428571vw;
    top: 18.2857142857vw;
  }
}

.fv__illust10 {
  right: 5.0666666667vw;
  top: 110.4vw;
  width: min(31.2vw, 150px);
}
@media screen and (min-width: 768px), print {
  .fv__illust10 {
    bottom: 0;
    right: 15.3571428571vw;
    top: auto;
    width: 12vw;
  }
}

.swiper-slide img {
  max-height: 100%;
}

.fv-slider {
  margin-inline: auto;
  width: 92vw;
}
@media screen and (min-width: 768px), print {
  .fv-slider {
    width: 83.5714285714vw;
  }
}

.blueberry-slider .swiper-wrapper {
  transition-timing-function: linear;
}

.blueberry-slider._top .swiper,
.blueberry-slider._bottm .swiper {
  overflow: hidden;
  position: relative;
}
.blueberry-slider._top .swiper .swiper-slide,
.blueberry-slider._bottm .swiper .swiper-slide {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  line-height: 1;
  text-align: center;
}
.blueberry-slider._top .swiper .swiper-slide .blueberry-slider__img,
.blueberry-slider._bottm .swiper .swiper-slide .blueberry-slider__img {
  height: 100%;
}
.blueberry-slider._top .swiper .swiper-slide img,
.blueberry-slider._bottm .swiper .swiper-slide img {
  -ms-grid-row-align: center;
  align-self: center;
  display: inline;
  max-height: 100%;
  max-width: 100%;
  width: auto;
}

.blueberry-slider._top .swiper {
  height: 67.2vw;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._top .swiper {
    height: min(40vw, 800px);
  }
}
.blueberry-slider._top .swiper .blueberry-slider__img01 {
  width: 86.4vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._top .swiper .blueberry-slider__img01 {
    width: 49.5vw !important;
  }
}
.blueberry-slider._top .swiper .blueberry-slider__img02 {
  width: 60.5333333333vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._top .swiper .blueberry-slider__img02 {
    width: 34.7857142857vw !important;
  }
}
.blueberry-slider._top .swiper .blueberry-slider__img03 {
  width: 78.4vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._top .swiper .blueberry-slider__img03 {
    width: 45vw !important;
  }
}
.blueberry-slider._top .swiper .blueberry-slider__img04 {
  width: 41.0666666667vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._top .swiper .blueberry-slider__img04 {
    width: 23.5714285714vw !important;
  }
}
.blueberry-slider._top .swiper .blueberry-slider__img05 {
  width: 48.8vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._top .swiper .blueberry-slider__img05 {
    width: 28.0714285714vw !important;
  }
}

.blueberry-slider._bottm {
  margin-top: -25px;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._bottm {
    margin-top: -125px;
  }
}
@media not all and (min-width: 768px), print {
  .blueberry-slider._bottm {
    margin-bottom: 28px;
  }
}

.blueberry-slider._bottm .swiper {
  height: 56.5333333333vw;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._bottm .swiper .swiper-wrapper {
    padding-left: 100px;
  }
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._bottm .swiper {
    height: 41.0714285714vw;
    height: min(41.0714285714vw, 800px);
  }
}
.blueberry-slider._bottm .swiper .blueberry-slider__img01 {
  width: 34.1333333333vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._bottm .swiper .blueberry-slider__img01 {
    width: 19.5714285714vw !important;
  }
}
.blueberry-slider._bottm .swiper .blueberry-slider__img02 {
  margin-top: -20px;
  width: 50.6666666667vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._bottm .swiper .blueberry-slider__img02 {
    margin-top: -60px;
    width: 29.2857142857vw !important;
  }
}
.blueberry-slider._bottm .swiper .blueberry-slider__img03 {
  width: 73.6vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._bottm .swiper .blueberry-slider__img03 {
    width: 42.1428571429vw !important;
  }
}
.blueberry-slider._bottm .swiper .blueberry-slider__img06 {
  width: 66.6666666667vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._bottm .swiper .blueberry-slider__img06 {
    width: 38.0714285714vw !important;
  }
}
.blueberry-slider._bottm .swiper .blueberry-slider__img07 {
  width: 60.8vw !important;
}
@media screen and (min-width: 768px), print {
  .blueberry-slider._bottm .swiper .blueberry-slider__img07 {
    width: 34.8571428571vw !important;
  }
}

@media not all and (min-width: 768px), print {
  .blog-list {
    margin-top: 30px;
  }
}

.blog-list__link {
  display: flex;
  flex-direction: column-reverse;
}

.blog-list__wrap {
  position: relative;
}
.blog-list__wrap .tag {
  color: #ffffff;
  font-size: 0.8125rem;
}

.blog-list__tag {
  bottom: 0;
  position: absolute;
  right: 0;
  z-index: 1;
}
.blog-list__tag .tag {
  -webkit-mask: url(../img/bg_tag.png) center/100% 100% no-repeat;
  display: -ms-grid;
  display: grid;
  height: 52px;
  mask: url(../img/bg_tag.png) center/100% 100% no-repeat;
  padding-top: 15px;
  place-items: center;
  width: 138px;
}
.blog-list__tag .tag.--news {
  background: #987ef2;
}
.blog-list__tag .tag.--event {
  background: #68ad53;
}
.blog-list__tag .tag.--column {
  background: #e594b0;
}

.blog-list__thumb {
  border-radius: 20px;
}
.blog-list__thumb img {
  -o-object-fit: cover;
  aspect-ratio: 315/220;
  object-fit: cover;
}
@media screen and (min-width: 768px), print {
  .blog-list__thumb img {
    aspect-ratio: 370/248;
  }
}

.blog-list__body {
  padding-top: 15px;
  position: relative;
}
.blog-list__body .arrow {
  border: 4px solid #e2d5c6;
  bottom: 0;
  height: 27px;
  position: absolute;
  right: 0;
  width: 27px;
}
.blog-list__body .arrow::after {
  background: #e2d5c6;
}

.blog-list__date {
  font-size: 0.8125rem;
}

.blog-list__title {
  line-height: 1.2;
}

.bnr {
  border-radius: 20px;
  margin-inline: auto;
  max-width: 900px;
  position: relative;
}
.bnr .bnr__ttl {
  font-size: 1.25rem;
  letter-spacing: -0.04em;
  margin-bottom: 13px;
}
@media screen and (min-width: 768px), print {
  .bnr .bnr__ttl {
    font-size: 1.75rem;
  }
}
@media not all and (min-width: 768px), print {
  .bnr .bnr__ttl {
    text-align: center;
  }
}
.bnr .bnr__ttl::after {
  -webkit-mask: url(../img/common/line_bnr_ttl.svg) center/100% 150% no-repeat;
  background: #c5b7f4;
  content: "";
  display: block;
  height: 18px;
  mask: url(../img/common/line_bnr_ttl.svg) center/100% 150% no-repeat;
  width: 100%;
}
.bnr .bnr__text {
  font-size: 0.875rem;
  letter-spacing: -0.06em;
  line-height: 2;
}
.bnr .bnr__wrap {
  align-items: center;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px), print {
  .bnr .bnr__wrap {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media not all and (min-width: 768px), print {
  .bnr .bnr__body {
    display: contents;
  }
}
@media not all and (min-width: 768px), print {
  .bnr .bnr__btn {
    order: 1;
  }
}
.bnr.--blueberry {
  background-color: #fff7fa;
  border: 5px solid;
  border-color: #b5a2f5;
  margin-top: 33px;
  padding: 15px 15px;
}
@media screen and (min-width: 768px), print {
  .bnr.--blueberry {
    padding: 15px 30px;
  }
}
.bnr.--blueberry .bnr__ttl::after {
  width: 110%;
}
.bnr.--blueberry .bnr__ribbon {
  left: 0;
  position: absolute;
  top: 17px;
}
.bnr.--blueberry .bnr__head {
  background: #a48bf1; /*背景色*/
  box-sizing: border-box;
  color: #fff; /*文字色*/
  display: inline-block;
  font-size: 1rem;
  height: 40px; /*高さ*/
  line-height: 40px; /*高さ*/
  padding: 0 40px 0 33px; /*文字の左右の余白*/
  position: relative;
  text-align: center;
}
.bnr.--blueberry .bnr__head:after {
  content: "";
  height: 0px;
  position: absolute;
  width: 0px;
  z-index: 1;
}
.bnr.--blueberry .bnr__head:after {
  border-color: transparent #fff7fa transparent transparent;
  border-style: solid;
  border-width: 20px 15px 20px 0px;
  right: 0;
  top: 0;
}
.bnr.--blueberry .bnr__wrap {
  margin-top: 20px;
}
@media screen and (min-width: 768px), print {
  .bnr.--blueberry .bnr__wrap {
    align-items: flex-start;
  }
}
.bnr.--blueberry .bnr__ttl {
  color: #5a41aa;
}
.bnr.--blueberry .bnr__img,
.bnr.--blueberry .bnr__ttl,
.bnr.--blueberry .bnr__icon,
.bnr.--blueberry .bnr__text {
  position: relative;
}
@media screen and (min-width: 768px), print {
  .bnr.--blueberry .bnr__img {
    position: absolute;
  }
}
.bnr.--blueberry .bnr__btn .btn {
  background: #5a41aa;
}
.bnr.--blueberry::before, .bnr.--blueberry::after {
  background: url(../img/guide/line_bnr.png) center/100% 100% no-repeat;
  content: "";
  display: block;
  height: 37px;
  margin-inline: auto;
  position: static;
  width: 100%;
}
@media not all and (min-width: 768px), print {
  .bnr.--blueberry::before, .bnr.--blueberry::after {
    background-size: cover;
  }
}
.bnr.--blueberry::after {
  margin-top: -15px;
}
@media not all and (min-width: 768px), print {
  .bnr.--blueberry::after {
    margin-top: -30px;
  }
}
.bnr.--blueberry .bnr__btn {
  margin-top: 25px;
}
@media screen and (min-width: 768px), print {
  .bnr.--blueberry .bnr__body {
    width: 44.8717948718%;
  }
}
.bnr.--blueberry .bnr__image {
  position: relative;
}
@media screen and (min-width: 768px), print {
  .bnr.--blueberry .bnr__image {
    width: 48.4615384615%;
  }
}
.bnr.--blueberry .bnr__img:nth-of-type(2) {
  right: auto;
  top: 18px;
  width: 238px;
}
@media screen and (min-width: 768px), print {
  .bnr.--blueberry .bnr__img:nth-of-type(2) {
    width: 287px;
  }
}
.bnr.--blueberry .bnr__img:nth-of-type(3) {
  position: absolute;
  right: 0;
  top: 130px;
  width: 70px;
}
@media screen and (min-width: 768px), print {
  .bnr.--blueberry .bnr__img:nth-of-type(3) {
    top: 100px;
    width: 87px;
  }
}
.bnr.--blueberry .bnr__icon {
  margin-inline: auto;
  width: 134px;
}
@media screen and (min-width: 768px), print {
  .bnr.--blueberry .bnr__icon {
    position: absolute;
    right: 69px;
    top: -27px;
  }
}
.bnr.--member {
  background-color: #cde5c4;
  margin-top: 30px;
  padding: 45px 15px;
}
@media screen and (min-width: 768px), print {
  .bnr.--member {
    padding: 35px 30px;
  }
}
.bnr.--member .bnr__head {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  position: absolute;
  top: 3px;
  transform: translate(-50%, -50%);
}
@media not all and (min-width: 768px), print {
  .bnr.--member .bnr__head {
    width: 224px;
  }
}
.bnr.--member .bnr__ttl {
  color: #419527;
}
@media screen and (min-width: 768px), print {
  .bnr.--member .bnr__ttl {
    font-size: 1.5rem;
  }
}
.bnr.--member .bnr__ttl::after {
  background: #99d188;
}
@media screen and (min-width: 768px), print {
  .bnr.--member .bnr__body {
    width: 56.0256410256%;
  }
}
.bnr.--member .bnr__img {
  width: 256px;
}
@media screen and (min-width: 768px), print {
  .bnr.--member .bnr__img {
    width: 41.0256410256%;
  }
}
@media not all and (min-width: 768px), print {
  .bnr.--member .bnr__img {
    margin-top: 25px;
  }
}
.bnr.--member .bnr__note {
  font-size: 0.625rem;
  margin-top: 15px;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 768px), print {
  .bnr.--member .bnr__note {
    font-size: 0.75rem;
  }
}
.bnr.--member .bnr__btn .btn {
  background: #35851e;
}
.bnr.--member .bnr__btn .btn:focus {
  border-color: #35851e;
}
.bnr.--member .bnr__btn .btn:focus .text {
  color: #35851e;
}
.bnr.--member .bnr__btn .btn:focus .arrow {
  background-color: #35851e;
}
.bnr.--member .bnr__btn .btn:focus .arrow::after {
  background: currentColor;
}
@media (hover: hover) and (pointer: fine) {
  .bnr.--member .bnr__btn .btn:hover {
    border-color: #35851e;
  }
  .bnr.--member .bnr__btn .btn:hover .text {
    color: #35851e;
  }
  .bnr.--member .bnr__btn .btn:hover .arrow {
    background-color: #35851e;
  }
  .bnr.--member .bnr__btn .btn:hover .arrow::after {
    background: currentColor;
  }
}
.bnr.--member .bnr__btn .arrow::after {
  background: #35851e;
}

.bnr__btn {
  margin-top: 20px;
}
.bnr__btn .btn {
  font-size: 1rem;
  letter-spacing: -0.06em;
  padding: 15px 25px;
  width: 230px;
}
.bnr__btn .btn .arrow {
  height: 29px;
  right: 13px;
  width: 29px;
}

.illust {
  position: absolute;
}

.butterflyArea {
  
  overflow-y: visible;
  position: relative;
}
.butterflyArea::after {
  background: url(../img/line_flower.png) center center/100% 100% no-repeat;
  content: "";
  display: block;
  height: 207px;
  height: 207px;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .butterflyArea::after {
    height: min(21.8571428571vw, 500px);
  }
}
@media not all and (min-width: 768px), print {
  .butterflyArea::after {
    background-size: cover;
  }
}
.butterflyArea .illust-butterfly01 {
  bottom: 232px;
  left: 10px;
  width: 30px;
}
@media screen and (min-width: 768px), print {
  .butterflyArea .illust-butterfly01 {
    bottom: 232px;
    left: 400px;
  }
}
.butterflyArea .illust-butterfly02 {
  bottom: 187px;
  right: 180px;
  width: 40px;
}
@media screen and (min-width: 768px), print {
  .butterflyArea .illust-butterfly02 {
    bottom: 200px;
    right: 300px;
  }
}

.accessAreabg {
  overflow: hidden;
  padding-bottom: 188px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .accessAreabg {
    padding-bottom: 25vw;
  }
}

.accessArea {
  background: url(../img/common/bg_access_sp.png) center/100% 100% repeat;
  padding-bottom: 52.5333333333vw;
  padding-top: min(59.4666666667vw, 350px);
  position: relative;
}
@media screen and (min-width: 768px), print {
  .accessArea {
    background: url(../img/common/bg_access.png) center/100% 100% repeat;
    padding-bottom: 25vw;
    padding-top: 24.6428571429vw;
  }
}
.accessArea .mogura {
  left: 24vw;
  position: absolute;
  top: min(30.1333333333vw, 150px);
  width: 74px;
}
@media screen and (min-width: 768px), print {
  .accessArea .mogura {
    left: min(35.7142857143vw, 1000px);
    top: min(15vw, 250px);
    width: max(94px, min(6.7142857143vw, 150px));
  }
}
.accessArea .mogura.js-slideup .access__illust01 {
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  transition: -webkit-transform 0.9s ease-in-out;
  transition: transform 0.9s ease-in-out;
  transition: transform 0.9s ease-in-out, -webkit-transform 0.9s ease-in-out;
}
.accessArea .mogura.js-slideup.is-slideup .access__illust01 {
  -webkit-transform: translateY(0);
  -webkit-animation: moveUpDown 3s ease-in-out infinite;
  -webkit-animation-delay: 3s;
  animation: moveUpDown 3s ease-in-out infinite;
  animation-delay: 3s;
  transform: translateY(0);
}
.accessArea .access__illust01 {
  margin: 0;
  position: relative;
}
.accessArea .access__illust02 {
  bottom: 26px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .accessArea .access__illust02 {
    bottom: max(35px, min(2.7142857143vw, 55px));
  }
}
.accessArea .access__illust03 {
  right: 16vw;
  top: 190px;
  width: 70px;
}
@media screen and (min-width: 768px), print {
  .accessArea .access__illust03 {
    -webkit-transform: rotate(-23deg);
    left: 4.2857142857vw;
    right: auto;
    top: 16.7857142857vw;
    transform: rotate(-23deg);
    width: 93px;
  }
}
.accessArea .access__illust03 img {
  -webkit-animation: imomushi-walk 9s linear infinite alternate;
  -webkit-transform-origin: bottom;
  animation: imomushi-walk 9s linear infinite alternate;
  position: relative;
  transform-origin: bottom;
}
.accessArea .access__illust03 #imomushi.reverse {
  -webkit-animation: imomushi-walk-reversed 9s linear infinite alternate;
  animation: imomushi-walk-reversed 9s linear infinite alternate;
}
.accessArea .access__illust06 {
  -webkit-transform: rotate(7deg);
  bottom: 184vw;
  right: 10px;
  transform: rotate(7deg);
  width: 80px;
}
@media screen and (min-width: 768px), print {
  .accessArea .access__illust06 {
    bottom: 25.5vw;
    right: 84px;
    width: 103px;
  }
}
.accessArea .access__illust06 img {
  -webkit-transform-origin: bottom;
  animation: imomushi-walk 9s linear infinite alternate-reverse;
  position: relative;
  transform-origin: bottom;
}
.accessArea .access__illust06 #imomushi.reverse {
  animation: imomushi-walk-reversed 9s linear infinite alternate-reverse;
}

.accessMap {
  align-items: center;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px), print {
  .accessMap {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px), print {
  .accessMap .accessMap__box {
    width: 29.0598290598%;
  }
}
@media not all and (min-width: 768px), print {
  .accessMap .accessMap__box {
    width: 100%;
  }
}
@media screen and (min-width: 768px), print {
  .accessMap .map {
    width: 59.8290598291%;
  }
}
@media not all and (min-width: 768px), print {
  .accessMap .map {
    margin-top: 18px;
  }
}
.accessMap .map iframe {
  aspect-ratio: 315/185;
  border-radius: 20px;
  height: 100%;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .accessMap .map iframe {
    aspect-ratio: 700/411;
  }
}
.accessMap .read::before, .accessMap .read::after {
  content: "";
  display: block;
  height: 1px;
  width: 0;
}
.accessMap .read::before {
  margin-top: calc((1 - 2.3) * 0.5em);
}
.accessMap .read::after {
  margin-bottom: calc((1 - 2.3) * 0.5em);
}
.accessMap .access__tel {
  background-color: #fff;
  border-radius: 13px;
  margin-top: 35px;
  padding: 10px;
}

.telbox .tel {
  font-size: 1.25rem;
  line-height: 1.2;
}

.telbox .note {
  font-size: 0.75rem;
  line-height: 1.1666666667;
  margin-top: 0.8333333333em;
}

.accessDetailWrap {
  margin-top: 55px;
}
@media screen and (min-width: 768px), print {
  .accessDetailWrap {
    display: flex;
    justify-content: space-between;
    margin-top: 45px;
  }
}
@media not all and (min-width: 768px), print {
  .accessDetailWrap {
    margin-left: -15px;
    margin-right: -15px;
  }
}
.accessDetailWrap .accessDetail__car {
  position: relative;
}
.accessDetailWrap .access__illust04 {
  margin-inline: auto;
  width: 78px;
}
.accessDetailWrap .access__illust04Smoke {
  position: absolute;
  right: 30px;
  top: 50%;
  width: 62px;
}
@media screen and (min-width: 768px), print {
  .accessDetailWrap .access__illust04Smoke {
    right: 95px;
  }
}
.accessDetailWrap .access__illust05 {
  height: 47px;
  margin-inline: auto;
  width: 115px;
}
.accessDetailWrap .access__illust05 img {
  height: 100%;
}
.accessDetailWrap .access__illust05Smoke {
  left: 38%;
  position: absolute;
  top: -25px;
  width: 27px;
}

.accessDetail {
  background: url(../img/common/bgbox_access.png) center/100% 100% no-repeat;
  color: #ffffff;
  margin-inline: auto;
  width: min(89.8666666667vw, 400px);
}
@media screen and (min-width: 768px), print {
  .accessDetail {
    height: 596px;
    width: 44.8717948718%;
  }
}
@media not all and (min-width: 768px), print {
  .accessDetail + .accessDetail {
    margin-top: 15px;
  }
}
.accessDetail:last-child {
  background: url(../img/common/bgbox_access2.png) center/100% 100% no-repeat;
}

.accessDetail__inner {
  padding: 15px 11.0447761194% 60px;
}
@media screen and (min-width: 768px), print {
  .accessDetail__inner {
    padding: 50px 11.4285714286%;
  }
}

.accessDetail__ttl {
  font-size: 1.375rem;
  margin-bottom: 0.5909090909em;
  margin-top: 0.6153846154em;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .accessDetail__ttl {
    font-size: 1.625rem;
    margin-bottom: 0.8846153846em;
  }
}
.accessDetail__ttl::after {
  background: url(../img/dotline_map.png) center/100% no-repeat;
  content: "";
  display: block;
  height: 10px;
  margin-inline: auto;
  margin-top: 5px;
  width: 84px;
}

.accessDetail__place {
  line-height: 2;
}
.accessDetail__place + .accessDetail__place {
  margin-top: 15px;
}
@media screen and (min-width: 768px), print {
  .accessDetail__place + .accessDetail__place {
    margin-top: 30px;
  }
}

.illustTree {
  bottom: 0;
  position: absolute;
}

.page-header__title.js-fadein .page-header__titleMain span {
  -webkit-transform: translateY(30px);
  display: inline-block;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.7s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(1) {
  transition-delay: 70ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(2) {
  transition-delay: 140ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(3) {
  transition-delay: 210ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(4) {
  transition-delay: 280ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(5) {
  transition-delay: 350ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(6) {
  transition-delay: 420ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(7) {
  transition-delay: 490ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(8) {
  transition-delay: 560ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(9) {
  transition-delay: 630ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(10) {
  transition-delay: 700ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(11) {
  transition-delay: 770ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(12) {
  transition-delay: 840ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(13) {
  transition-delay: 910ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(14) {
  transition-delay: 980ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(15) {
  transition-delay: 1050ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(16) {
  transition-delay: 1120ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(17) {
  transition-delay: 1190ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(18) {
  transition-delay: 1260ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(19) {
  transition-delay: 1330ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(20) {
  transition-delay: 1400ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(21) {
  transition-delay: 1470ms;
}
.page-header__title.js-fadein .page-header__titleMain span:nth-child(22) {
  transition-delay: 1540ms;
}
.page-header__title.js-fadein .page-header__titleSub {
  -webkit-transform: translateY(2em);
  transform: translateY(2em);
  transition: opacity 1.7s, -webkit-transform 2s;
  transition: opacity 1.7s, transform 2s;
  transition: opacity 1.7s, transform 2s, -webkit-transform 2s;
}
.page-header__title.js-fadein.is-fadein .page-header__titleMain span {
  -webkit-transform: translateY(0);
  opacity: 1;
  transform: translateY(0);
}
.page-header__title.js-fadein.is-fadein .page-header__titleSub {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@-webkit-keyframes fadeInText {
  100% {
    -webkit-filter: blur(0);
    -webkit-transform: translateY(0);
    filter: blur(0);
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInText {
  100% {
    -webkit-filter: blur(0);
    -webkit-transform: translateY(0);
    filter: blur(0);
    opacity: 1;
    transform: translateY(0);
  }
}
.fv-slider .swiper.is-resizing .swiper-slide img {
  -webkit-animation-play-state: paused !important;
  animation-play-state: paused !important;
}
.fv-slider .swiper-slide {
  overflow: hidden;
}
.fv-slider .swiper-slide.swiper-slide-active img.is-zoomin, .fv-slider .swiper-slide.swiper-slide-duplicate-active img.is-zoomin, .fv-slider .swiper-slide.swiper-slide-prev img.is-zoomin {
  -webkit-animation: zoomIn linear 10s forwards;
  animation: zoomIn linear 10s forwards;
}

.fv-wrap .illust.js-animation.is-show {
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1) 1.9s;
}
.fv-wrap .fv__illust01.js-animation.is-show {
  transition-delay: 1.2s;
}
.fv-wrap .fv__illust02.js-animation.is-show {
  transition-delay: 1.4s;
}
.fv-wrap .fv__illust03.js-animation.is-show {
  transition-delay: 1.6s;
}
.fv-wrap .fv__illust04.js-animation.is-show {
  transition-delay: 1.8s;
}
.fv-wrap .fv__illust07.js-animation.is-show {
  transition-delay: 2s;
}
.fv-wrap .fv__illust08.js-animation.is-show {
  transition-delay: 2.2s;
}
.fv-wrap .fv__illust09.js-animation.is-show {
  transition-delay: 2.6s;
}
.fv-wrap .fv__illust10.js-animation.is-show {
  transition-delay: 2.4s;
}

@-webkit-keyframes slidedown {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
  100% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
}

@keyframes slidedown {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
  100% {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }
}
.popup.js-fadein {
  -webkit-transform: scale(0) translate3d(0, 12rem, 0) rotate(0.00001deg);
  transform: scale(0) translate3d(0, 12rem, 0) rotate(0.00001deg);
  transition: 750ms cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-delay: 0.3s;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}
.popup.js-fadein.is-fadein {
  -webkit-transform: scale(1) translate3d(0, 0, 0) rotate(0.00001deg);
  transform: scale(1) translate3d(0, 0, 0) rotate(0.00001deg);
}

.fuwafuwa {
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-animation: fuwafuwa ease 3s infinite;
  animation: fuwafuwa ease 3s infinite;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  50% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}
@-webkit-keyframes zoomIn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
@keyframes zoomIn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}
.js-fadein-up {
  -webkit-transform: translateY(50px);
  opacity: 0;
  transform: translateY(50px);
}
.js-fadein-up._delay2 {
  transition-delay: 0.2s;
}
.js-fadein-up._delay3 {
  transition-delay: 0.2s;
}
@media screen and (min-width: 768px), print {
  .js-fadein-up._delay3 {
    transition-delay: 0.4s;
  }
}

.js-fadein-up.is-active {
  -webkit-transform: translateY(0);
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, -webkit-transform 0.8s;
  transition: transform 0.8s, opacity 1s;
  transition: transform 0.8s, opacity 1s, -webkit-transform 0.8s;
}

.instaField.js-fadein-up.is-active .instaField__item {
  -webkit-transform: translateX(0%);
  opacity: 1;
  transform: translateX(0%);
}

.instaField:not(.is-active) {
  overflow: hidden;
}

.instaField__item {
  -webkit-transform: translateX(-50%);
  opacity: 0;
  position: relative;
  transform: translateX(-50%);
  transition: opacity 0.5s ease, -webkit-transform 0.5s;
  transition: opacity 0.5s ease, transform 0.5s;
  transition: opacity 0.5s ease, transform 0.5s, -webkit-transform 0.5s;
}

.instaField__item:nth-of-type(1) {
  transition-delay: 0.1s;
  z-index: 5;
}

.instaField__item:nth-of-type(2) {
  transition-delay: 0.2s;
  z-index: 4;
}

.instaField__item:nth-of-type(3) {
  transition-delay: 0.4s;
  z-index: 3;
}

.instaField__item:nth-of-type(4) {
  transition-delay: 0.6s;
  z-index: 2;
}

.instaField__item:nth-of-type(5) {
  transition-delay: 0.8s;
  z-index: 1;
}

.instaField__item:nth-of-type(6) {
  transition-delay: 1;
}

.js-fadein {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  transition: opacity ease-in 0.8s;
}
.js-fadein._delay2 {
  transition-delay: 0.2s;
}
.js-fadein._delay3 {
  transition-delay: 0.2s;
}
@media screen and (min-width: 768px), print {
  .js-fadein._delay3 {
    transition-delay: 0.4s;
  }
}
.js-fadein._delay4 {
  transition-delay: 0.3s;
}
@media screen and (min-width: 768px), print {
  .js-fadein._delay4 {
    transition-delay: 0.6s;
  }
}
.js-fadein._delay5 {
  transition-delay: 1.4s;
}
.js-fadein._delay6 {
  transition-delay: 1.8s;
}
.js-fadein._delay7 {
  transition-delay: 1.9s;
}

.js-fadein.is-fadein {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}

.poyooon {
  -webkit-animation: 0.9s poyooon ease-in 3s infinite alternate;
  animation: 0.9s poyooon ease-in 3s infinite alternate;
}

@-webkit-keyframes poyooon {
  0% {
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1); /* 通常 */
  }
  60% {
    -webkit-transform: translateY(20px) scale(1);
    transform: translateY(20px) scale(1); /* 60%までは普通に落ちる */
  }
  100% {
    -webkit-transform: translateY(30px) scale(1.1, 0.9);
    transform: translateY(30px) scale(1.1, 0.9); /* 落下時点で少し横長に */
  }
}

@keyframes poyooon {
  0% {
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1); /* 通常 */
  }
  60% {
    -webkit-transform: translateY(20px) scale(1);
    transform: translateY(20px) scale(1); /* 60%までは普通に落ちる */
  }
  100% {
    -webkit-transform: translateY(30px) scale(1.1, 0.9);
    transform: translateY(30px) scale(1.1, 0.9); /* 落下時点で少し横長に */
  }
}
@media screen and (min-width: 768px), print {
  @-webkit-keyframes poyooon {
    0% {
      -webkit-transform: translateY(0) scale(1);
      transform: translateY(0) scale(1); /* 通常 */
    }
    60% {
      -webkit-transform: translateY(20px) scale(1);
      transform: translateY(20px) scale(1); /* 60%までは普通に落ちる */
    }
    100% {
      -webkit-transform: translateY(60px) scale(1.1, 0.9);
      transform: translateY(60px) scale(1.1, 0.9); /* 落下時点で少し横長に */
    }
  }
  @keyframes poyooon {
    0% {
      -webkit-transform: translateY(0) scale(1);
      transform: translateY(0) scale(1); /* 通常 */
    }
    60% {
      -webkit-transform: translateY(20px) scale(1);
      transform: translateY(20px) scale(1); /* 60%までは普通に落ちる */
    }
    100% {
      -webkit-transform: translateY(60px) scale(1.1, 0.9);
      transform: translateY(60px) scale(1.1, 0.9); /* 落下時点で少し横長に */
    }
  }
}
.poyooon2 {
  -webkit-animation: 0.7s poyooon ease-in infinite alternate;
  animation: 0.7s poyooon ease-in infinite alternate;
}

@-webkit-keyframes poyooon2 {
  0% {
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1); /* 通常 */
  }
  60% {
    -webkit-transform: translateY(10px) scale(1);
    transform: translateY(10px) scale(1); /* 60%までは普通に落ちる */
  }
  100% {
    -webkit-transform: translateY(20px) scale(1.1, 0.9);
    transform: translateY(20px) scale(1.1, 0.9); /* 落下時点で少し横長に */
  }
}

@keyframes poyooon2 {
  0% {
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1); /* 通常 */
  }
  60% {
    -webkit-transform: translateY(10px) scale(1);
    transform: translateY(10px) scale(1); /* 60%までは普通に落ちる */
  }
  100% {
    -webkit-transform: translateY(20px) scale(1.1, 0.9);
    transform: translateY(20px) scale(1.1, 0.9); /* 落下時点で少し横長に */
  }
}
@media screen and (min-width: 768px), print {
  @-webkit-keyframes poyooon2 {
    0% {
      -webkit-transform: translateY(0) scale(1);
      transform: translateY(0) scale(1); /* 通常 */
    }
    60% {
      -webkit-transform: translateY(20px) scale(1);
      transform: translateY(20px) scale(1); /* 60%までは普通に落ちる */
    }
    100% {
      -webkit-transform: translateY(60px) scale(1.1, 0.9);
      transform: translateY(60px) scale(1.1, 0.9); /* 落下時点で少し横長に */
    }
  }
  @keyframes poyooon2 {
    0% {
      -webkit-transform: translateY(0) scale(1);
      transform: translateY(0) scale(1); /* 通常 */
    }
    60% {
      -webkit-transform: translateY(20px) scale(1);
      transform: translateY(20px) scale(1); /* 60%までは普通に落ちる */
    }
    100% {
      -webkit-transform: translateY(60px) scale(1.1, 0.9);
      transform: translateY(60px) scale(1.1, 0.9); /* 落下時点で少し横長に */
    }
  }
}
.stepup {
  -webkit-animation: stepup_x 2.1s ease-in-out infinite alternate, stepup_y 2.3s ease-in-out infinite alternate;
  animation: stepup_x 2.1s ease-in-out infinite alternate, stepup_y 2.3s ease-in-out infinite alternate;
}

@-webkit-keyframes stepup_x {
  0% {
    -webkit-transform: translateX(15px);
    transform: translateX(15px);
  }
  100% {
    margin-left: 0;
  }
}

@keyframes stepup_x {
  0% {
    -webkit-transform: translateX(15px);
    transform: translateX(15px);
  }
  100% {
    margin-left: 0;
  }
}
@-webkit-keyframes stepup_y {
  0% {
    margin-top: 0;
  }
  100% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}
@keyframes stepup_y {
  0% {
    margin-top: 0;
  }
  100% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}
.shake {
  -webkit-animation: shake 4s infinite ease-in-out alternate;
  animation: shake 4s infinite ease-in-out alternate;
}

@-webkit-keyframes shake {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  21% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  22% {
    -webkit-transform: translate(0, 0) rotate(-3deg);
    transform: translate(0, 0) rotate(-3deg);
  }
  23% {
    -webkit-transform: translate(0, -1px) rotate(0deg);
    transform: translate(0, -1px) rotate(0deg);
  }
  24% {
    -webkit-transform: translate(0, -1px) rotate(3deg);
    transform: translate(0, -1px) rotate(3deg);
  }
  25% {
    -webkit-transform: translate(1px, 0) rotate(-2deg);
    transform: translate(1px, 0) rotate(-2deg);
  }
  26% {
    -webkit-transform: translate(0, 1px) rotate(0deg);
    transform: translate(0, 1px) rotate(0deg);
  }
  27% {
    -webkit-transform: translate(0, 0) rotate(3deg);
    transform: translate(0, 0) rotate(3deg);
  }
  28% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  81% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  82% {
    -webkit-transform: translate(0, 0) rotate(-3deg);
    transform: translate(0, 0) rotate(-3deg);
  }
  83% {
    -webkit-transform: translate(0, -1px) rotate(0deg);
    transform: translate(0, -1px) rotate(0deg);
  }
  84% {
    -webkit-transform: translate(0, -1px) rotate(3deg);
    transform: translate(0, -1px) rotate(3deg);
  }
  85% {
    -webkit-transform: translate(1px, 0) rotate(-2deg);
    transform: translate(1px, 0) rotate(-2deg);
  }
  86% {
    -webkit-transform: translate(0, 1px) rotate(0deg);
    transform: translate(0, 1px) rotate(0deg);
  }
  87% {
    -webkit-transform: translate(0, 0) rotate(3deg);
    transform: translate(0, 0) rotate(3deg);
  }
  88% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes shake {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  21% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  22% {
    -webkit-transform: translate(0, 0) rotate(-3deg);
    transform: translate(0, 0) rotate(-3deg);
  }
  23% {
    -webkit-transform: translate(0, -1px) rotate(0deg);
    transform: translate(0, -1px) rotate(0deg);
  }
  24% {
    -webkit-transform: translate(0, -1px) rotate(3deg);
    transform: translate(0, -1px) rotate(3deg);
  }
  25% {
    -webkit-transform: translate(1px, 0) rotate(-2deg);
    transform: translate(1px, 0) rotate(-2deg);
  }
  26% {
    -webkit-transform: translate(0, 1px) rotate(0deg);
    transform: translate(0, 1px) rotate(0deg);
  }
  27% {
    -webkit-transform: translate(0, 0) rotate(3deg);
    transform: translate(0, 0) rotate(3deg);
  }
  28% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  81% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  82% {
    -webkit-transform: translate(0, 0) rotate(-3deg);
    transform: translate(0, 0) rotate(-3deg);
  }
  83% {
    -webkit-transform: translate(0, -1px) rotate(0deg);
    transform: translate(0, -1px) rotate(0deg);
  }
  84% {
    -webkit-transform: translate(0, -1px) rotate(3deg);
    transform: translate(0, -1px) rotate(3deg);
  }
  85% {
    -webkit-transform: translate(1px, 0) rotate(-2deg);
    transform: translate(1px, 0) rotate(-2deg);
  }
  86% {
    -webkit-transform: translate(0, 1px) rotate(0deg);
    transform: translate(0, 1px) rotate(0deg);
  }
  87% {
    -webkit-transform: translate(0, 0) rotate(3deg);
    transform: translate(0, 0) rotate(3deg);
  }
  88% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg);
  }
}
.bird01 {
  -webkit-animation: bird01 ease 6s infinite;
  -webkit-animation-duration: 5s;
  animation: bird01 ease 6s infinite;
  animation-duration: 5s;
}

@-webkit-keyframes bird01 {
  0% {
    -webkit-transform: translate3d(0, 15px, 0px);
    transform: translate3d(0, 15px, 0px);
  }
  50% {
    -webkit-transform: translate3d(-15px, -15px, 0px);
    transform: translate3d(-15px, -15px, 0px);
  }
  100% {
    -webkit-transform: translate3d(0, 15px, 0px);
    transform: translate3d(0, 15px, 0px);
  }
}

@keyframes bird01 {
  0% {
    -webkit-transform: translate3d(0, 15px, 0px);
    transform: translate3d(0, 15px, 0px);
  }
  50% {
    -webkit-transform: translate3d(-15px, -15px, 0px);
    transform: translate3d(-15px, -15px, 0px);
  }
  100% {
    -webkit-transform: translate3d(0, 15px, 0px);
    transform: translate3d(0, 15px, 0px);
  }
}
.bird02 {
  -webkit-animation: bird02 ease 6s infinite;
  animation: bird02 ease 6s infinite;
}

@-webkit-keyframes bird02 {
  0% {
    -webkit-transform: translate3d(0, 25px, 0px);
    transform: translate3d(0, 25px, 0px);
  }
  50% {
    -webkit-transform: translate3d(-25px, -25px, 0px);
    transform: translate3d(-25px, -25px, 0px);
  }
  100% {
    -webkit-transform: translate3d(0, 25px, 0px);
    transform: translate3d(0, 25px, 0px);
  }
}

@keyframes bird02 {
  0% {
    -webkit-transform: translate3d(0, 25px, 0px);
    transform: translate3d(0, 25px, 0px);
  }
  50% {
    -webkit-transform: translate3d(-25px, -25px, 0px);
    transform: translate3d(-25px, -25px, 0px);
  }
  100% {
    -webkit-transform: translate3d(0, 25px, 0px);
    transform: translate3d(0, 25px, 0px);
  }
}
.step-rotate {
  -webkit-animation: step-rotate 3.5s steps(1) infinite;
  animation: step-rotate 3.5s steps(1) infinite;
}

@-webkit-keyframes step-rotate {
  0% {
    -webkit-transform: rotate(0.00001deg);
    transform: rotate(0.00001deg);
  }
  50% {
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }
  100% {
    -webkit-transform: rotate(0.00001deg);
    transform: rotate(0.00001deg);
  }
}

@keyframes step-rotate {
  0% {
    -webkit-transform: rotate(0.00001deg);
    transform: rotate(0.00001deg);
  }
  50% {
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
  }
  100% {
    -webkit-transform: rotate(0.00001deg);
    transform: rotate(0.00001deg);
  }
}
.step-rotate2 {
  -webkit-animation: step-rotate2 3.5s steps(1) infinite;
  animation: step-rotate2 3.5s steps(1) infinite;
}

@-webkit-keyframes step-rotate2 {
  0% {
    -webkit-transform: rotate(0.00001deg);
    transform: rotate(0.00001deg);
  }
  50% {
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  100% {
    -webkit-transform: rotate(0.00001deg);
    transform: rotate(0.00001deg);
  }
}

@keyframes step-rotate2 {
  0% {
    -webkit-transform: rotate(0.00001deg);
    transform: rotate(0.00001deg);
  }
  50% {
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
  }
  100% {
    -webkit-transform: rotate(0.00001deg);
    transform: rotate(0.00001deg);
  }
}
@-webkit-keyframes moveUpDown {
  0% {
    top: 0; /* 要素の初期位置 */
  }
  50% {
    top: 15px; /* 上に20ピクセル移動 */
  }
  100% {
    top: 0; /* 初期位置に戻る */
  }
}
@keyframes moveUpDown {
  0% {
    top: 0; /* 要素の初期位置 */
  }
  50% {
    top: 15px; /* 上に20ピクセル移動 */
  }
  100% {
    top: 0; /* 初期位置に戻る */
  }
}
.butterfly {
  -webkit-animation: butterfly 4s linear infinite alternate, butterfly-back 4s linear infinite alternate;
  animation: butterfly 4s linear infinite alternate, butterfly-back 4s linear infinite alternate;
  position: relative;
}

.butterfly2 {
  -webkit-animation-duration: 6s;
  animation-duration: 6s;
}

@-webkit-keyframes butterfly {
  0% {
    -webkit-transform: translateX(0) translateY(0) scale(1);
    transform: translateX(0) translateY(0) scale(1);
  }
  10% {
    -webkit-transform: translateX(20px) translateY(-10px) scale(1.1);
    transform: translateX(20px) translateY(-10px) scale(1.1);
  }
  20% {
    -webkit-transform: translateX(40px) translateY(-20px) scale(1.2);
    transform: translateX(40px) translateY(-20px) scale(1.2);
  }
  30% {
    -webkit-transform: translateX(60px) translateY(-30px) scale(1.3);
    transform: translateX(60px) translateY(-30px) scale(1.3);
  }
  40% {
    -webkit-transform: translateX(80px) translateY(-40px) scale(1.4);
    transform: translateX(80px) translateY(-40px) scale(1.4);
  }
  50% {
    -webkit-transform: translateX(100px) translateY(-50px) scale(1.5);
    transform: translateX(100px) translateY(-50px) scale(1.5);
  }
  60% {
    -webkit-transform: translateX(120px) translateY(-40px) scale(1.4);
    transform: translateX(120px) translateY(-40px) scale(1.4);
  }
  70% {
    -webkit-transform: translateX(140px) translateY(-30px) scale(1.3);
    transform: translateX(140px) translateY(-30px) scale(1.3);
  }
  80% {
    -webkit-transform: translateX(160px) translateY(-20px) scale(1.2);
    transform: translateX(160px) translateY(-20px) scale(1.2);
  }
  90% {
    -webkit-transform: translateX(180px) translateY(-10px) scale(1.1);
    transform: translateX(180px) translateY(-10px) scale(1.1);
  }
  100% {
    -webkit-transform: translateX(200px) translateY(0) scale(1);
    transform: translateX(200px) translateY(0) scale(1);
  }
}

@keyframes butterfly {
  0% {
    -webkit-transform: translateX(0) translateY(0) scale(1);
    transform: translateX(0) translateY(0) scale(1);
  }
  10% {
    -webkit-transform: translateX(20px) translateY(-10px) scale(1.1);
    transform: translateX(20px) translateY(-10px) scale(1.1);
  }
  20% {
    -webkit-transform: translateX(40px) translateY(-20px) scale(1.2);
    transform: translateX(40px) translateY(-20px) scale(1.2);
  }
  30% {
    -webkit-transform: translateX(60px) translateY(-30px) scale(1.3);
    transform: translateX(60px) translateY(-30px) scale(1.3);
  }
  40% {
    -webkit-transform: translateX(80px) translateY(-40px) scale(1.4);
    transform: translateX(80px) translateY(-40px) scale(1.4);
  }
  50% {
    -webkit-transform: translateX(100px) translateY(-50px) scale(1.5);
    transform: translateX(100px) translateY(-50px) scale(1.5);
  }
  60% {
    -webkit-transform: translateX(120px) translateY(-40px) scale(1.4);
    transform: translateX(120px) translateY(-40px) scale(1.4);
  }
  70% {
    -webkit-transform: translateX(140px) translateY(-30px) scale(1.3);
    transform: translateX(140px) translateY(-30px) scale(1.3);
  }
  80% {
    -webkit-transform: translateX(160px) translateY(-20px) scale(1.2);
    transform: translateX(160px) translateY(-20px) scale(1.2);
  }
  90% {
    -webkit-transform: translateX(180px) translateY(-10px) scale(1.1);
    transform: translateX(180px) translateY(-10px) scale(1.1);
  }
  100% {
    -webkit-transform: translateX(200px) translateY(0) scale(1);
    transform: translateX(200px) translateY(0) scale(1);
  }
}
@-webkit-keyframes butterfly-back {
  0% {
    -webkit-transform: translateX(200px) translateY(0) scale(1);
    transform: translateX(200px) translateY(0) scale(1);
  }
  10% {
    -webkit-transform: translateX(180px) translateY(-20px) scale(1.1);
    transform: translateX(180px) translateY(-20px) scale(1.1);
  }
  20% {
    -webkit-transform: translateX(160px) translateY(-40px) scale(1.2);
    transform: translateX(160px) translateY(-40px) scale(1.2);
  }
  30% {
    -webkit-transform: translateX(140px) translateY(-60px) scale(1.3);
    transform: translateX(140px) translateY(-60px) scale(1.3);
  }
  40% {
    -webkit-transform: translateX(120px) translateY(-80px) scale(1.4);
    transform: translateX(120px) translateY(-80px) scale(1.4);
  }
  50% {
    -webkit-transform: translateX(100px) translateY(-100px) scale(1.5);
    transform: translateX(100px) translateY(-100px) scale(1.5);
  }
  60% {
    -webkit-transform: translateX(80px) translateY(-80px) scale(1.4);
    transform: translateX(80px) translateY(-80px) scale(1.4);
  }
  70% {
    -webkit-transform: translateX(60px) translateY(-60px) scale(1.3);
    transform: translateX(60px) translateY(-60px) scale(1.3);
  }
  80% {
    -webkit-transform: translateX(40px) translateY(-40px) scale(1.2);
    transform: translateX(40px) translateY(-40px) scale(1.2);
  }
  90% {
    -webkit-transform: translateX(20px) translateY(-20px) scale(1.1);
    transform: translateX(20px) translateY(-20px) scale(1.1);
  }
  100% {
    -webkit-transform: translateX(0) translateY(0) scale(1);
    transform: translateX(0) translateY(0) scale(1);
  }
}
@keyframes butterfly-back {
  0% {
    -webkit-transform: translateX(200px) translateY(0) scale(1);
    transform: translateX(200px) translateY(0) scale(1);
  }
  10% {
    -webkit-transform: translateX(180px) translateY(-20px) scale(1.1);
    transform: translateX(180px) translateY(-20px) scale(1.1);
  }
  20% {
    -webkit-transform: translateX(160px) translateY(-40px) scale(1.2);
    transform: translateX(160px) translateY(-40px) scale(1.2);
  }
  30% {
    -webkit-transform: translateX(140px) translateY(-60px) scale(1.3);
    transform: translateX(140px) translateY(-60px) scale(1.3);
  }
  40% {
    -webkit-transform: translateX(120px) translateY(-80px) scale(1.4);
    transform: translateX(120px) translateY(-80px) scale(1.4);
  }
  50% {
    -webkit-transform: translateX(100px) translateY(-100px) scale(1.5);
    transform: translateX(100px) translateY(-100px) scale(1.5);
  }
  60% {
    -webkit-transform: translateX(80px) translateY(-80px) scale(1.4);
    transform: translateX(80px) translateY(-80px) scale(1.4);
  }
  70% {
    -webkit-transform: translateX(60px) translateY(-60px) scale(1.3);
    transform: translateX(60px) translateY(-60px) scale(1.3);
  }
  80% {
    -webkit-transform: translateX(40px) translateY(-40px) scale(1.2);
    transform: translateX(40px) translateY(-40px) scale(1.2);
  }
  90% {
    -webkit-transform: translateX(20px) translateY(-20px) scale(1.1);
    transform: translateX(20px) translateY(-20px) scale(1.1);
  }
  100% {
    -webkit-transform: translateX(0) translateY(0) scale(1);
    transform: translateX(0) translateY(0) scale(1);
  }
}
.jump {
  -webkit-animation: jump 4s ease-in-out 4s infinite;
  -webkit-animation-delay: 0s, 2s;
  animation: jump 4s ease-in-out 4s infinite;
  animation-delay: 0s, 2s;
}

@-webkit-keyframes jump {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  50% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}

@keyframes jump {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  50% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  75% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}
.bounce {
  -webkit-animation: bounce 2s linear infinite;
  animation: bounce 2s linear infinite;
  position: relative;
}

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80% {
    top: 0;
  }
  10%, 40% {
    top: -20px;
  }
  100% {
    top: 0;
  }
}

@keyframes bounce {
  0%, 20%, 50%, 80% {
    top: 0;
  }
  10%, 40% {
    top: -20px;
  }
  100% {
    top: 0;
  }
}
.leaf {
  -webkit-animation: sway 2s linear infinite;
  -webkit-transform-origin: bottom center;
  animation: sway 2s linear infinite;
  position: relative;
  transform-origin: bottom center;
}

@-webkit-keyframes sway {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes sway {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
.anim-poyo {
  -webkit-animation: poyo 3s ease-out infinite;
  animation: poyo 3s ease-out infinite;
}

@-webkit-keyframes poyo {
  0%, 40%, 60%, 80% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50%, 70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}

@keyframes poyo {
  0%, 40%, 60%, 80% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50%, 70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
}
@-webkit-keyframes imomushi-walk {
  0% {
    -webkit-transform: translateX(0) translateY(0) rotate(0);
    transform: translateX(0) translateY(0) rotate(0);
  }
  2.5% {
    -webkit-transform: translateX(3%) translateY(-1px) rotate(2deg);
    transform: translateX(3%) translateY(-1px) rotate(2deg);
  }
  5% {
    -webkit-transform: translateX(5%) translateY(0px) rotate(0deg);
    transform: translateX(5%) translateY(0px) rotate(0deg);
  }
  7.5% {
    -webkit-transform: translateX(8%) translateY(-2px) rotate(-2deg);
    transform: translateX(8%) translateY(-2px) rotate(-2deg);
  }
  10% {
    -webkit-transform: translateX(10%) translateY(0px) rotate(0deg);
    transform: translateX(10%) translateY(0px) rotate(0deg);
  }
  12.5% {
    -webkit-transform: translateX(13%) translateY(-1px) rotate(2deg);
    transform: translateX(13%) translateY(-1px) rotate(2deg);
  }
  15% {
    -webkit-transform: translateX(15%) translateY(0px) rotate(0deg);
    transform: translateX(15%) translateY(0px) rotate(0deg);
  }
  17.5% {
    -webkit-transform: translateX(18%) translateY(-2px) rotate(-2deg);
    transform: translateX(18%) translateY(-2px) rotate(-2deg);
  }
  20% {
    -webkit-transform: translateX(20%) translateY(0px) rotate(0deg);
    transform: translateX(20%) translateY(0px) rotate(0deg);
  }
  22.5% {
    -webkit-transform: translateX(23%) translateY(-1px) rotate(2deg);
    transform: translateX(23%) translateY(-1px) rotate(2deg);
  }
  25% {
    -webkit-transform: translateX(25%) translateY(0px) rotate(0deg);
    transform: translateX(25%) translateY(0px) rotate(0deg);
  }
  27.5% {
    -webkit-transform: translateX(28%) translateY(-2px) rotate(-2deg);
    transform: translateX(28%) translateY(-2px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(30%) translateY(0px) rotate(0deg);
    transform: translateX(30%) translateY(0px) rotate(0deg);
  }
  32.5% {
    -webkit-transform: translateX(33%) translateY(-1px) rotate(2deg);
    transform: translateX(33%) translateY(-1px) rotate(2deg);
  }
  35% {
    -webkit-transform: translateX(35%) translateY(0px) rotate(0deg);
    transform: translateX(35%) translateY(0px) rotate(0deg);
  }
  37.5% {
    -webkit-transform: translateX(38%) translateY(-2px) rotate(-2deg);
    transform: translateX(38%) translateY(-2px) rotate(-2deg);
  }
  40% {
    -webkit-transform: translateX(40%) translateY(0px) rotate(0deg);
    transform: translateX(40%) translateY(0px) rotate(0deg);
  }
  42.5% {
    -webkit-transform: translateX(43%) translateY(-1px) rotate(2deg);
    transform: translateX(43%) translateY(-1px) rotate(2deg);
  }
  45% {
    -webkit-transform: translateX(45%) translateY(0px) rotate(0deg);
    transform: translateX(45%) translateY(0px) rotate(0deg);
  }
  47.5% {
    -webkit-transform: translateX(48%) translateY(-2px) rotate(-2deg);
    transform: translateX(48%) translateY(-2px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(50%) translateY(0px) rotate(0deg);
    transform: translateX(50%) translateY(0px) rotate(0deg);
  }
  52.5% {
    -webkit-transform: translateX(53%) translateY(-1px) rotate(2deg);
    transform: translateX(53%) translateY(-1px) rotate(2deg);
  }
  55% {
    -webkit-transform: translateX(55%) translateY(0px) rotate(0deg);
    transform: translateX(55%) translateY(0px) rotate(0deg);
  }
  57.5% {
    -webkit-transform: translateX(58%) translateY(-2px) rotate(-2deg);
    transform: translateX(58%) translateY(-2px) rotate(-2deg);
  }
  60% {
    -webkit-transform: translateX(60%) translateY(0px) rotate(0deg);
    transform: translateX(60%) translateY(0px) rotate(0deg);
  }
  62.5% {
    -webkit-transform: translateX(63%) translateY(-1px) rotate(2deg);
    transform: translateX(63%) translateY(-1px) rotate(2deg);
  }
  65% {
    -webkit-transform: translateX(65%) translateY(0px) rotate(0deg);
    transform: translateX(65%) translateY(0px) rotate(0deg);
  }
  67.5% {
    -webkit-transform: translateX(68%) translateY(-2px) rotate(-2deg);
    transform: translateX(68%) translateY(-2px) rotate(-2deg);
  }
  70% {
    -webkit-transform: translateX(70%) translateY(0px) rotate(0deg);
    transform: translateX(70%) translateY(0px) rotate(0deg);
  }
  72.5% {
    -webkit-transform: translateX(73%) translateY(-1px) rotate(2deg);
    transform: translateX(73%) translateY(-1px) rotate(2deg);
  }
  75% {
    -webkit-transform: translateX(75%) translateY(0px) rotate(0deg);
    transform: translateX(75%) translateY(0px) rotate(0deg);
  }
  77.5% {
    -webkit-transform: translateX(78%) translateY(-2px) rotate(-2deg);
    transform: translateX(78%) translateY(-2px) rotate(-2deg);
  }
  80% {
    -webkit-transform: translateX(80%) translateY(0px) rotate(0deg);
    transform: translateX(80%) translateY(0px) rotate(0deg);
  }
  82.5% {
    -webkit-transform: translateX(83%) translateY(-1px) rotate(2deg);
    transform: translateX(83%) translateY(-1px) rotate(2deg);
  }
  85% {
    -webkit-transform: translateX(85%) translateY(0px) rotate(0deg);
    transform: translateX(85%) translateY(0px) rotate(0deg);
  }
  87.5% {
    -webkit-transform: translateX(88%) translateY(-2px) rotate(-2deg);
    transform: translateX(88%) translateY(-2px) rotate(-2deg);
  }
  90% {
    -webkit-transform: translateX(90%) translateY(0px) rotate(0deg);
    transform: translateX(90%) translateY(0px) rotate(0deg);
  }
  92.5% {
    -webkit-transform: translateX(93%) translateY(-1px) rotate(2deg);
    transform: translateX(93%) translateY(-1px) rotate(2deg);
  }
  95% {
    -webkit-transform: translateX(95%) translateY(0px) rotate(0deg);
    transform: translateX(95%) translateY(0px) rotate(0deg);
  }
  97.5% {
    -webkit-transform: translateX(98%) translateY(-2px) rotate(-2deg);
    transform: translateX(98%) translateY(-2px) rotate(-2deg);
  }
  100% {
    -webkit-transform: translateX(100%) translateY(0) rotate(0deg);
    transform: translateX(100%) translateY(0) rotate(0deg);
  }
}
@keyframes imomushi-walk {
  0% {
    -webkit-transform: translateX(0) translateY(0) rotate(0);
    transform: translateX(0) translateY(0) rotate(0);
  }
  2.5% {
    -webkit-transform: translateX(3%) translateY(-1px) rotate(2deg);
    transform: translateX(3%) translateY(-1px) rotate(2deg);
  }
  5% {
    -webkit-transform: translateX(5%) translateY(0px) rotate(0deg);
    transform: translateX(5%) translateY(0px) rotate(0deg);
  }
  7.5% {
    -webkit-transform: translateX(8%) translateY(-2px) rotate(-2deg);
    transform: translateX(8%) translateY(-2px) rotate(-2deg);
  }
  10% {
    -webkit-transform: translateX(10%) translateY(0px) rotate(0deg);
    transform: translateX(10%) translateY(0px) rotate(0deg);
  }
  12.5% {
    -webkit-transform: translateX(13%) translateY(-1px) rotate(2deg);
    transform: translateX(13%) translateY(-1px) rotate(2deg);
  }
  15% {
    -webkit-transform: translateX(15%) translateY(0px) rotate(0deg);
    transform: translateX(15%) translateY(0px) rotate(0deg);
  }
  17.5% {
    -webkit-transform: translateX(18%) translateY(-2px) rotate(-2deg);
    transform: translateX(18%) translateY(-2px) rotate(-2deg);
  }
  20% {
    -webkit-transform: translateX(20%) translateY(0px) rotate(0deg);
    transform: translateX(20%) translateY(0px) rotate(0deg);
  }
  22.5% {
    -webkit-transform: translateX(23%) translateY(-1px) rotate(2deg);
    transform: translateX(23%) translateY(-1px) rotate(2deg);
  }
  25% {
    -webkit-transform: translateX(25%) translateY(0px) rotate(0deg);
    transform: translateX(25%) translateY(0px) rotate(0deg);
  }
  27.5% {
    -webkit-transform: translateX(28%) translateY(-2px) rotate(-2deg);
    transform: translateX(28%) translateY(-2px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(30%) translateY(0px) rotate(0deg);
    transform: translateX(30%) translateY(0px) rotate(0deg);
  }
  32.5% {
    -webkit-transform: translateX(33%) translateY(-1px) rotate(2deg);
    transform: translateX(33%) translateY(-1px) rotate(2deg);
  }
  35% {
    -webkit-transform: translateX(35%) translateY(0px) rotate(0deg);
    transform: translateX(35%) translateY(0px) rotate(0deg);
  }
  37.5% {
    -webkit-transform: translateX(38%) translateY(-2px) rotate(-2deg);
    transform: translateX(38%) translateY(-2px) rotate(-2deg);
  }
  40% {
    -webkit-transform: translateX(40%) translateY(0px) rotate(0deg);
    transform: translateX(40%) translateY(0px) rotate(0deg);
  }
  42.5% {
    -webkit-transform: translateX(43%) translateY(-1px) rotate(2deg);
    transform: translateX(43%) translateY(-1px) rotate(2deg);
  }
  45% {
    -webkit-transform: translateX(45%) translateY(0px) rotate(0deg);
    transform: translateX(45%) translateY(0px) rotate(0deg);
  }
  47.5% {
    -webkit-transform: translateX(48%) translateY(-2px) rotate(-2deg);
    transform: translateX(48%) translateY(-2px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(50%) translateY(0px) rotate(0deg);
    transform: translateX(50%) translateY(0px) rotate(0deg);
  }
  52.5% {
    -webkit-transform: translateX(53%) translateY(-1px) rotate(2deg);
    transform: translateX(53%) translateY(-1px) rotate(2deg);
  }
  55% {
    -webkit-transform: translateX(55%) translateY(0px) rotate(0deg);
    transform: translateX(55%) translateY(0px) rotate(0deg);
  }
  57.5% {
    -webkit-transform: translateX(58%) translateY(-2px) rotate(-2deg);
    transform: translateX(58%) translateY(-2px) rotate(-2deg);
  }
  60% {
    -webkit-transform: translateX(60%) translateY(0px) rotate(0deg);
    transform: translateX(60%) translateY(0px) rotate(0deg);
  }
  62.5% {
    -webkit-transform: translateX(63%) translateY(-1px) rotate(2deg);
    transform: translateX(63%) translateY(-1px) rotate(2deg);
  }
  65% {
    -webkit-transform: translateX(65%) translateY(0px) rotate(0deg);
    transform: translateX(65%) translateY(0px) rotate(0deg);
  }
  67.5% {
    -webkit-transform: translateX(68%) translateY(-2px) rotate(-2deg);
    transform: translateX(68%) translateY(-2px) rotate(-2deg);
  }
  70% {
    -webkit-transform: translateX(70%) translateY(0px) rotate(0deg);
    transform: translateX(70%) translateY(0px) rotate(0deg);
  }
  72.5% {
    -webkit-transform: translateX(73%) translateY(-1px) rotate(2deg);
    transform: translateX(73%) translateY(-1px) rotate(2deg);
  }
  75% {
    -webkit-transform: translateX(75%) translateY(0px) rotate(0deg);
    transform: translateX(75%) translateY(0px) rotate(0deg);
  }
  77.5% {
    -webkit-transform: translateX(78%) translateY(-2px) rotate(-2deg);
    transform: translateX(78%) translateY(-2px) rotate(-2deg);
  }
  80% {
    -webkit-transform: translateX(80%) translateY(0px) rotate(0deg);
    transform: translateX(80%) translateY(0px) rotate(0deg);
  }
  82.5% {
    -webkit-transform: translateX(83%) translateY(-1px) rotate(2deg);
    transform: translateX(83%) translateY(-1px) rotate(2deg);
  }
  85% {
    -webkit-transform: translateX(85%) translateY(0px) rotate(0deg);
    transform: translateX(85%) translateY(0px) rotate(0deg);
  }
  87.5% {
    -webkit-transform: translateX(88%) translateY(-2px) rotate(-2deg);
    transform: translateX(88%) translateY(-2px) rotate(-2deg);
  }
  90% {
    -webkit-transform: translateX(90%) translateY(0px) rotate(0deg);
    transform: translateX(90%) translateY(0px) rotate(0deg);
  }
  92.5% {
    -webkit-transform: translateX(93%) translateY(-1px) rotate(2deg);
    transform: translateX(93%) translateY(-1px) rotate(2deg);
  }
  95% {
    -webkit-transform: translateX(95%) translateY(0px) rotate(0deg);
    transform: translateX(95%) translateY(0px) rotate(0deg);
  }
  97.5% {
    -webkit-transform: translateX(98%) translateY(-2px) rotate(-2deg);
    transform: translateX(98%) translateY(-2px) rotate(-2deg);
  }
  100% {
    -webkit-transform: translateX(100%) translateY(0) rotate(0deg);
    transform: translateX(100%) translateY(0) rotate(0deg);
  }
}
@-webkit-keyframes imomushi-walk-reversed {
  0% {
    -webkit-transform: translateX(100%) translateY(0) rotate(0deg) scaleX(-1);
    transform: translateX(100%) translateY(0) rotate(0deg) scaleX(-1);
  }
  2.5% {
    -webkit-transform: translateX(98%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(98%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  5% {
    -webkit-transform: translateX(95%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(95%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  7.5% {
    -webkit-transform: translateX(93%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(93%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  10% {
    -webkit-transform: translateX(90%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(90%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  12.5% {
    -webkit-transform: translateX(88%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(88%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  15% {
    -webkit-transform: translateX(85%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(85%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  17.5% {
    -webkit-transform: translateX(83%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(83%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  20% {
    -webkit-transform: translateX(80%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(80%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  22.5% {
    -webkit-transform: translateX(78%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(78%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  25% {
    -webkit-transform: translateX(75%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(75%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  27.5% {
    -webkit-transform: translateX(73%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(73%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  30% {
    -webkit-transform: translateX(70%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(70%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  32.5% {
    -webkit-transform: translateX(68%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(68%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  35% {
    -webkit-transform: translateX(65%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(65%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  37.5% {
    -webkit-transform: translateX(63%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(63%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  40% {
    -webkit-transform: translateX(60%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(60%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  42.5% {
    -webkit-transform: translateX(58%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(58%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  45% {
    -webkit-transform: translateX(55%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(55%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  47.5% {
    -webkit-transform: translateX(53%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(53%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  50% {
    -webkit-transform: translateX(50%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(50%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  52.5% {
    -webkit-transform: translateX(48%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(48%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  55% {
    -webkit-transform: translateX(45%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(45%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  57.5% {
    -webkit-transform: translateX(43%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(43%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  60% {
    -webkit-transform: translateX(40%) translateY(0) rotate(0deg) scaleX(-1);
    transform: translateX(40%) translateY(0) rotate(0deg) scaleX(-1);
  }
  62.5% {
    -webkit-transform: translateX(38%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(38%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  65% {
    -webkit-transform: translateX(35%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(35%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  67.5% {
    -webkit-transform: translateX(32%) translateY(-2px) rotate(-2deg) scaleX(-1);
    transform: translateX(32%) translateY(-2px) rotate(-2deg) scaleX(-1);
  }
  70% {
    -webkit-transform: translateX(30%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(30%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  72.5% {
    -webkit-transform: translateX(28%) translateY(-1px) rotate(2deg) scaleX(-1);
    transform: translateX(28%) translateY(-1px) rotate(2deg) scaleX(-1);
  }
  75% {
    -webkit-transform: translateX(25%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(25%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  77.5% {
    -webkit-transform: translateX(23%) translateY(-2px) rotate(-2deg) scaleX(-1);
    transform: translateX(23%) translateY(-2px) rotate(-2deg) scaleX(-1);
  }
  80% {
    -webkit-transform: translateX(20%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(20%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  82.5% {
    -webkit-transform: translateX(18%) translateY(-1px) rotate(2deg) scaleX(-1);
    transform: translateX(18%) translateY(-1px) rotate(2deg) scaleX(-1);
  }
  85% {
    -webkit-transform: translateX(15%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(15%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  87.5% {
    -webkit-transform: translateX(13%) translateY(-2px) rotate(-2deg) scaleX(-1);
    transform: translateX(13%) translateY(-2px) rotate(-2deg) scaleX(-1);
  }
  90% {
    -webkit-transform: translateX(10%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(10%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  92.5% {
    -webkit-transform: translateX(8%) translateY(-1px) rotate(2deg) scaleX(-1);
    transform: translateX(8%) translateY(-1px) rotate(2deg) scaleX(-1);
  }
  95% {
    -webkit-transform: translateX(5%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(5%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  97.5% {
    -webkit-transform: translateX(3%) translateY(-2px) rotate(-2deg) scaleX(-1);
    transform: translateX(3%) translateY(-2px) rotate(-2deg) scaleX(-1);
  }
  100% {
    -webkit-transform: translateX(0) translateY(0) rotate(0deg);
    transform: translateX(0) translateY(0) rotate(0deg);
  }
}
@keyframes imomushi-walk-reversed {
  0% {
    -webkit-transform: translateX(100%) translateY(0) rotate(0deg) scaleX(-1);
    transform: translateX(100%) translateY(0) rotate(0deg) scaleX(-1);
  }
  2.5% {
    -webkit-transform: translateX(98%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(98%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  5% {
    -webkit-transform: translateX(95%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(95%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  7.5% {
    -webkit-transform: translateX(93%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(93%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  10% {
    -webkit-transform: translateX(90%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(90%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  12.5% {
    -webkit-transform: translateX(88%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(88%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  15% {
    -webkit-transform: translateX(85%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(85%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  17.5% {
    -webkit-transform: translateX(83%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(83%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  20% {
    -webkit-transform: translateX(80%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(80%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  22.5% {
    -webkit-transform: translateX(78%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(78%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  25% {
    -webkit-transform: translateX(75%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(75%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  27.5% {
    -webkit-transform: translateX(73%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(73%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  30% {
    -webkit-transform: translateX(70%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(70%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  32.5% {
    -webkit-transform: translateX(68%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(68%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  35% {
    -webkit-transform: translateX(65%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(65%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  37.5% {
    -webkit-transform: translateX(63%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(63%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  40% {
    -webkit-transform: translateX(60%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(60%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  42.5% {
    -webkit-transform: translateX(58%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(58%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  45% {
    -webkit-transform: translateX(55%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(55%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  47.5% {
    -webkit-transform: translateX(53%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(53%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  50% {
    -webkit-transform: translateX(50%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(50%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  52.5% {
    -webkit-transform: translateX(48%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(48%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  55% {
    -webkit-transform: translateX(45%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(45%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  57.5% {
    -webkit-transform: translateX(43%) translateY(-1px) rotate(-2deg) scaleX(-1);
    transform: translateX(43%) translateY(-1px) rotate(-2deg) scaleX(-1);
  }
  60% {
    -webkit-transform: translateX(40%) translateY(0) rotate(0deg) scaleX(-1);
    transform: translateX(40%) translateY(0) rotate(0deg) scaleX(-1);
  }
  62.5% {
    -webkit-transform: translateX(38%) translateY(-2px) rotate(2deg) scaleX(-1);
    transform: translateX(38%) translateY(-2px) rotate(2deg) scaleX(-1);
  }
  65% {
    -webkit-transform: translateX(35%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(35%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  67.5% {
    -webkit-transform: translateX(32%) translateY(-2px) rotate(-2deg) scaleX(-1);
    transform: translateX(32%) translateY(-2px) rotate(-2deg) scaleX(-1);
  }
  70% {
    -webkit-transform: translateX(30%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(30%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  72.5% {
    -webkit-transform: translateX(28%) translateY(-1px) rotate(2deg) scaleX(-1);
    transform: translateX(28%) translateY(-1px) rotate(2deg) scaleX(-1);
  }
  75% {
    -webkit-transform: translateX(25%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(25%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  77.5% {
    -webkit-transform: translateX(23%) translateY(-2px) rotate(-2deg) scaleX(-1);
    transform: translateX(23%) translateY(-2px) rotate(-2deg) scaleX(-1);
  }
  80% {
    -webkit-transform: translateX(20%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(20%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  82.5% {
    -webkit-transform: translateX(18%) translateY(-1px) rotate(2deg) scaleX(-1);
    transform: translateX(18%) translateY(-1px) rotate(2deg) scaleX(-1);
  }
  85% {
    -webkit-transform: translateX(15%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(15%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  87.5% {
    -webkit-transform: translateX(13%) translateY(-2px) rotate(-2deg) scaleX(-1);
    transform: translateX(13%) translateY(-2px) rotate(-2deg) scaleX(-1);
  }
  90% {
    -webkit-transform: translateX(10%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(10%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  92.5% {
    -webkit-transform: translateX(8%) translateY(-1px) rotate(2deg) scaleX(-1);
    transform: translateX(8%) translateY(-1px) rotate(2deg) scaleX(-1);
  }
  95% {
    -webkit-transform: translateX(5%) translateY(0px) rotate(0deg) scaleX(-1);
    transform: translateX(5%) translateY(0px) rotate(0deg) scaleX(-1);
  }
  97.5% {
    -webkit-transform: translateX(3%) translateY(-2px) rotate(-2deg) scaleX(-1);
    transform: translateX(3%) translateY(-2px) rotate(-2deg) scaleX(-1);
  }
  100% {
    -webkit-transform: translateX(0) translateY(0) rotate(0deg);
    transform: translateX(0) translateY(0) rotate(0deg);
  }
}
.accessDetail__car.is-fadein .access__illust05Smoke {
  -webkit-animation: slideAndFade-left 3s linear infinite;
  animation: slideAndFade-left 3s linear infinite;
}
.accessDetail__car.is-fadein .access__illust04Smoke .smoke {
  -webkit-animation: slideAndFade-right 3s linear infinite;
  animation: slideAndFade-right 3s linear infinite;
}

@-webkit-keyframes slideAndFade-right {
  0% {
    -webkit-transform: translateX(0);
    opacity: 1;
    transform: translateX(0);
  }
  15% {
    -webkit-transform: translateX(50%);
    opacity: 0.5;
    transform: translateX(50%);
  }
  16.667% {
    -webkit-transform: translateX(50%);
    opacity: 0;
    transform: translateX(50%);
  }
  50% {
    -webkit-transform: translateX(50%);
    opacity: 0;
    transform: translateX(50%);
  }
  100% {
    -webkit-transform: translateX(50%);
    opacity: 0;
    transform: translateX(50%);
  }
  100% {
    -webkit-transform: translateX(50%);
    opacity: 0;
    transform: translateX(50%);
  }
}

@keyframes slideAndFade-right {
  0% {
    -webkit-transform: translateX(0);
    opacity: 1;
    transform: translateX(0);
  }
  15% {
    -webkit-transform: translateX(50%);
    opacity: 0.5;
    transform: translateX(50%);
  }
  16.667% {
    -webkit-transform: translateX(50%);
    opacity: 0;
    transform: translateX(50%);
  }
  50% {
    -webkit-transform: translateX(50%);
    opacity: 0;
    transform: translateX(50%);
  }
  100% {
    -webkit-transform: translateX(50%);
    opacity: 0;
    transform: translateX(50%);
  }
  100% {
    -webkit-transform: translateX(50%);
    opacity: 0;
    transform: translateX(50%);
  }
}
@-webkit-keyframes slideAndFade-left {
  0% {
    -webkit-transform: translatey(0);
    opacity: 1;
    transform: translatey(0);
  }
  15% {
    -webkit-transform: translatey(-50%);
    opacity: 0.5;
    transform: translatey(-50%);
  }
  16.667% {
    -webkit-transform: translatey(-50%);
    opacity: 0;
    transform: translatey(-50%);
  }
  50% {
    -webkit-transform: translatey(-50%);
    opacity: 0;
    transform: translatey(-50%);
  }
  100% {
    -webkit-transform: translatey(-50%);
    opacity: 0;
    transform: translatey(-50%);
  }
  100% {
    -webkit-transform: translatey(-50%);
    opacity: 0;
    transform: translatey(-50%);
  }
}
@keyframes slideAndFade-left {
  0% {
    -webkit-transform: translatey(0);
    opacity: 1;
    transform: translatey(0);
  }
  15% {
    -webkit-transform: translatey(-50%);
    opacity: 0.5;
    transform: translatey(-50%);
  }
  16.667% {
    -webkit-transform: translatey(-50%);
    opacity: 0;
    transform: translatey(-50%);
  }
  50% {
    -webkit-transform: translatey(-50%);
    opacity: 0;
    transform: translatey(-50%);
  }
  100% {
    -webkit-transform: translatey(-50%);
    opacity: 0;
    transform: translatey(-50%);
  }
  100% {
    -webkit-transform: translatey(-50%);
    opacity: 0;
    transform: translatey(-50%);
  }
}
.swing {
  -webkit-animation: swing 2s ease-in-out infinite;
  -webkit-transform-origin: center bottom;
  animation: swing 2s ease-in-out infinite;
  transform-origin: center bottom;
}

@-webkit-keyframes swing {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}

@keyframes swing {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
.header {
  left: 0;
  position: absolute;
  top: 0;
  z-index: 4;
}

.bg-header-menu-button {
  z-index: 5;
}

.header__logo {
  z-index: 5;
}

.menuWrapper {
  z-index: 4;
}

@media screen and (min-width: 768px), print {
  .fv {
    z-index: 3;
  }
}

.fvbg {
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .fvbg {
    z-index: 3;
  }
}

.fv__title {
  z-index: 2;
}

.shopMap {
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .shopMap {
    z-index: 2;
  }
}

.concept {
  z-index: 1;
}

.fv-wrap {
  pointer-events: none;
}
.fv-wrap .illust {
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .fv-wrap .illust {
    z-index: 3;
  }
}
@media not all and (min-width: 768px), print {
  .fv-wrap {
    z-index: 2;
  }
}

.h-scale {
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.h-scale img {
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 100%;
}

@media screen and (min-width: 768px), print {
  .h-scale:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
.btn--default:focus {
  border-color: #5a41aa;
}
.btn--default:focus::after {
  opacity: 1;
}
.btn--default:focus .text {
  color: #5a41aa;
}
.btn--default:focus .arrow {
  background-color: #5a41aa;
}
.btn--default:focus .arrow::after {
  background: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn--default:hover {
    border-color: #5a41aa;
  }
  .btn--default:hover::after {
    opacity: 1;
  }
  .btn--default:hover .text {
    color: #5a41aa;
  }
  .btn--default:hover .arrow {
    background-color: #5a41aa;
  }
  .btn--default:hover .arrow::after {
    background: #fff;
  }
}

.snsarea .btn .arrow {
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.snsarea .btn:focus .arrow {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
@media (hover: hover) and (pointer: fine) {
  .snsarea .btn:hover .arrow {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

.blog-list__link .arrow {
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.blog-list__link:focus .arrow {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
@media (hover: hover) and (pointer: fine) {
  .blog-list__link:hover .arrow {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

.h-underline {
  position: relative;
}
.h-underline::after {
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: bottom right;
  background-color: #5a41aa;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
  width: 100%;
}
.h-underline:focus::after {
  -webkit-transform: scaleX(1);
  -webkit-transform-origin: bottom left;
  transform: scaleX(1);
  transform-origin: bottom left;
}
@media (hover: hover) and (pointer: fine) {
  .h-underline:hover::after {
    -webkit-transform: scaleX(1);
    -webkit-transform-origin: bottom left;
    transform: scaleX(1);
    transform-origin: bottom left;
  }
}

.page-header {
  background: url(../img/common/header_cloud.png) center/100% 100% no-repeat;
  height: max(250px, min(31.0714285714vw, 700px));
  margin-bottom: 50px;
}
@media not all and (min-width: 768px), print {
  .page-header {
    background-size: cover;
    margin-bottom: 60px;
  }
}

.aboutMap__illust01 {
  bottom: 13.455696%;
  left: 4vw;
  width: 15.8536585366%;
}
@media screen and (min-width: 768px), print {
  .aboutMap__illust01 {
    left: 6.593496%;
  }
}

.aboutMap__illust02 {
  bottom: 19.666667vw;
  right: 28.333333%;
  width: 8.1300813008%;
}
@media screen and (min-width: 768px), print {
  .aboutMap__illust02 {
    bottom: 25.063291%;
    right: 29.097561%;
  }
}

.aboutMap__illust03 {
  bottom: 46.21519%;
  right: 33.666667vw;
  width: 3.4959349593%;
}
@media screen and (min-width: 768px), print {
  .aboutMap__illust03 {
    bottom: 46.21519%;
    right: 34.2894309%;
  }
}

.aboutMap__illust04 {
  right: 65.3739837398%;
  top: 41.848101%;
  width: 6.5040650407%;
}
.aboutMap__illust04 img {
  -webkit-animation: swing 2s ease-in-out infinite;
  -webkit-transform-origin: center bottom;
  animation: swing 2s ease-in-out infinite;
  transform-origin: center bottom;
}

.aboutMap__illust05 {
	top: 22.8567%;
    left: 42.4924%;
    width: 2.7596%;
}
@media screen and (min-width: 768px), print {
  .aboutMap__illust02 {
    bottom: 25.063291%;
    right: 29.097561%;
  }
}

.aboutMap__link {
  position: absolute;
  width: 25px;
}
@media screen and (min-width: 768px), print {
  .aboutMap__link {
    width: 37px;
    width: 60px;
  }
}
.aboutMap__link--01 {
  right: 36.121951%;
  top: 26.708861%;
}
.aboutMap__link--02 {
  right: 59.03252%;
  top: 37.35443%;
}
.aboutMap__link--03 {
  right: 50.520325%;
  top: 50.341772%;
}
.aboutMap__link--04 {
  bottom: 19.582278%;
  right: 56.373984%;
}
.aboutMap__link--05 {
  bottom: 5.009009%;
  right: 60.658537%;
}
.aboutMap__link--06 {
  bottom: 17.482114%;
  right: 33.482114%;
}
.aboutMap__link--07 {
  bottom: 31.607595%;
  left: 13.853659%;
}
.aboutMap__link--08 {
  bottom: 42.628057%;
  right: 28.821138%;
}
.aboutMap__link--09 {
  left: 16.731707%;
  top: 32.392405%;
}
.aboutMap__link--10 {
  left: 35.26797%;
  top: 18.876576%;
}

.c-modal__img {
  margin-bottom: 15px;
}
.c-modal__img img {
  -o-object-fit: cover;
  aspect-ratio: 407/242;
  border-radius: 10px;
  object-fit: cover;
  width: 100%;
}

.c-modal__ttl {
  font-size: clamp(1.325rem, 1.5714285714vw, 1.875rem);
	color: #5d462a;
}
.c-modal__ttl span {
  display: block;
  font-size: 12px;
	color: #68ad53;
}

.c-modal__txt {
  line-height: 1.7;
  margin-top: 0.6666666667em;
}
@media not all and (min-width: 768px), print {
  .c-modal__txt {
    font-size: 0.875rem;
  }
}

.c-modal__box {
  background-color: #fff;
  border-radius: 30px;
  padding: 35px clamp(20px, 2.8571428571vw, 40px) 60px;
}

/*  c-modal
--------------------------------------------- */
.c-modal {
  display: none;
}

.c-modal.is-open {
  display: block;
}

.c-modal__overlay {
  inset: 0;
  overflow-y: auto;
  overscroll-behavior-y: none;
  position: fixed;
  scrollbar-width: none;
  z-index: 5;
}

.c-modal__overlay::-webkit-scrollbar {
  display: none;
}

.c-modal__inner {
  align-items: center;
  background: rgba(229, 246, 248, 0.6);
  box-sizing: border-box;
  display: flex;
  height: calc(100% + 1px);
  justify-content: center;
  padding: 10px;
}

.c-modal__container {
  background-color: #68ad53;
  border-radius: 40px;
  box-sizing: border-box;
  max-height: 80vh;
  overflow-y: auto;
  padding: 20px;
  position: relative;
  width: min(100%, 500px);
}

.c-modal__close-btn {
  -webkit-transform: translateX(-50%);
  background-color: #68ad53;
  border: 3px solid #fff;
  border-radius: 40px;
  bottom: 10px;
  color: #ffffff;
  cursor: pointer;
  left: 50%;
  max-width: 200px;
  padding: 5px;
  position: absolute;
  transform: translateX(-50%);
  width: 100%;
}
.c-modal__close-btn::before {
  -webkit-transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  content: "";
  display: block;
  height: 8px;
  left: 30px;
  position: absolute;
  top: calc(50% + 2px);
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
}

.c-modal[aria-hidden=false] .c-modal__overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal[aria-hidden=false] .c-modal__container {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal[aria-hidden=true] .c-modal__overlay {
  -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal[aria-hidden=true] .c-modal__container {
  -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.c-modal__overlay,
.c-modal__container {
  will-change: transform;
}

@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
    transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
    transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(15%);
    transform: translateY(15%);
  }
}
@keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(15%);
    transform: translateY(15%);
  }
}
.loading-ready .loding__img,
.loading-ready .loding__text {
  opacity: 0;
  transition: opacity 0.3s;
}

/* フォントが読み込まれたら表示 */
.fonts-loaded .loading-ready .loding__img,
.fonts-loaded .loading-ready .loding__text {
  opacity: 1;
  transition: opacity 0.3s;
}

.loding-bg {
  background: #fff;
  color: #fff;
  height: 100%;
  position: fixed;
  text-align: center;
  width: 100%;
  z-index: 999;
}
.loding-bg .loding,
.loding-bg .swiper {
  height: 100%;
}

.js-loading {
  opacity: 0;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  visibility: hidden;
}

.js-loading.loaded {
  opacity: 1;
  visibility: visible;
}

.loding .swiper-slide {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.loding .slide-4 .loding__img {
  width: clamp(100px, 10.7142857143vw, 160px);
}
.loding .slide-3 .loding__img {
  width: clamp(130px, 12.8571428571vw, 200px);
}

.loding .loding__img {
  max-height: 300px;
  width: clamp(150px, 14.2857142857vw, 250px);
}

.loding__text {
  color: #b6c995;
  font-size: clamp(1.875rem, 2.8571428571vw, 2.5rem);
  letter-spacing: 0.2em;
  margin-top: 20px;
}
.loding__text span {
  -webkit-animation-name: wave;
  -webkit-animation-duration: 1.5s;
  -webkit-animation-iteration-count: infinite;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-name: wave;
  display: inline-block;
}

@-webkit-keyframes wave {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-13px);
    transform: translateY(-13px);
  }
}

@keyframes wave {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-13px);
    transform: translateY(-13px);
  }
}
.loding__text span:nth-child(1) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.loding__text span:nth-child(2) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.loding__text span:nth-child(3) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.loding__text span:nth-child(4) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.loding__text span:nth-child(5) {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.loding__text span:nth-child(6) {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.loding__text span:nth-child(7) {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

.loding__text span:nth-child(8) {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.loding__text span:nth-child(9) {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

.js-animation {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  transition: opacity ease-in 0.8s;
}
.js-animation._delay2 {
  transition-delay: 0.2s;
}
.js-animation._delay3 {
  transition-delay: 0.2s;
}
@media screen and (min-width: 768px), print {
  .js-animation._delay3 {
    transition-delay: 0.4s;
  }
}
.js-animation._delay4 {
  transition-delay: 0.3s;
}
@media screen and (min-width: 768px), print {
  .js-animation._delay4 {
    transition-delay: 0.6s;
  }
}
.js-animation._delay5 {
  transition-delay: 1s;
}
.js-animation._delay6 {
  transition-delay: 1.8s;
}

.js-animation {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  transition: opacity ease-in 0.8s;
}
.js-animation._delay2 {
  transition-delay: 0.2s;
}
.js-animation._delay3 {
  transition-delay: 0.2s;
}
@media screen and (min-width: 768px), print {
  .js-animation._delay3 {
    transition-delay: 0.4s;
  }
}
.js-animation._delay4 {
  transition-delay: 0.3s;
}
@media screen and (min-width: 768px), print {
  .js-animation._delay4 {
    transition-delay: 0.6s;
  }
}
.js-animation._delay5 {
  transition-delay: 1s;
}
.js-animation._delay6 {
  transition-delay: 1.8s;
}

.js-animation.is-show {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}

@media not all and (min-width: 768px), print {
  .sp {
    display: none !important;
  }
}

@media screen and (min-width: 768px), print {
  .pc {
    display: none !important;
  }
}

.text-center {
  text-align: center;
}

@media not all and (min-width: 768px), print {
  .px-2 {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.align-items-start {
  align-items: start;
}

@media not all and (min-width: 768px), print {
  .px-2 {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.is-sp-menu-opened .menuWrapper {
  opacity: 1;
  transition: opacity 0.3s ease-out;
  transition-delay: 0.2s;
  visibility: visible;
}

.is-sp-menu-opened html {
  min-height: 100vh;
}

.is-sp-menu-opened .header-menu-button__text.--open {
  display: none;
}

.is-sp-menu-opened .header-menu-button__text.--close {
  display: block;
}

.is-sp-menu-opened .bg-header-menu-button {
  background: url(../img/common/bg_menu_button2.png) 100% 100%/cover no-repeat;
}

.is-sp-menu-opened .header-menu-button__line {
  background-color: #80aa5a;
}
.is-sp-menu-opened .header-menu-button__text {
  color: #80aa5a;
}

.js-menu-scope:focus .js-menu-target {
  opacity: 1;
  visibility: visible;
}
@media (hover: hover) and (pointer: fine) {
  .js-menu-scope:hover .js-menu-target {
    opacity: 1;
    visibility: visible;
  }
}

.concept {
  overflow: hidden;
  position: relative;
}
.concept .container {
  position: relative;
}
@media not all and (min-width: 768px), print {
  .concept {
    padding-bottom: 140px;
  }
}

@media screen and (min-width: 768px), print {
  .concept__copy {
    letter-spacing: 0.1em;
  }
}
.concept__copy span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.concept__copy span::after {
  content: "";
  display: block;
  height: 11px;
  margin-top: 16px;
  width: 100%;
}
.concept__copy span:nth-child(1) {
  font-size: max(1.375rem, min(2.4285714286vw, 2.125rem));
  line-height: 1.1764705882;
}
.concept__copy span:nth-child(1)::after {
  background: url(../img/common/dotline02.png) center/100% 100% repeat;
}
.concept__copy span:nth-child(2) {
  font-size: max(1.875rem, min(3.2857142857vw, 2.875rem));
  line-height: 1.1956521739;
  margin-top: 13px;
}
.concept__copy span:nth-child(2)::after {
  background: url(../img/common/dotline03.png) center/100% 100% repeat;
}

.concept__body {
  padding-top: 100px;
}
@media screen and (min-width: 768px), print {
  .concept__body {
    margin-left: auto;
    padding-left: 7.6923076923%;
    padding-top: 10.6837606838%;
    width: 56.4102564103%;
  }
}

.shopMap {
  position: absolute;
  right: 10vw;
  top: 458px;
  width: 156.2666666667vw;
}
@media screen and (min-width: 768px), print {
  .shopMap {
    left: -40.6428571429vw;
    right: auto;
    top: min(31.5714285714vw, 500px);
    width: 82.1428571429vw;
  }
}
@media screen and (min-width: 2300px), print {
  .shopMap {
    left: -27.34375vw;
    top: min(27.34375vw, 900px);
    width: 70.3125vw;
  }
}

.shopMap__map img {
  -o-object-fit: cover;
  max-height: 1300px;
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 2300px), print {
  .shopMap__map img {
    height: min(56.5217391304vw, 1450px);
    max-height: none;
  }
}

.concept__text {
  line-height: 2.3;
  margin-top: max(17px, min(3.3571428571vw, 47px));
}

.concept__illust01 {
  -webkit-animation-duration: 6s;
  animation-duration: 6s;
  bottom: -101px;
  right: 50.1333333333vw;
  width: min(11.4666666667vw, 65px);
}
@media screen and (min-width: 768px), print {
  .concept__illust01 {
    bottom: 40px;
    right: 8px;
    width: 60px;
  }
}

.concept__illust02 {
  -webkit-animation-duration: 6.8s;
  animation-duration: 6.8s;
  bottom: -116px;
  right: 35.7333333333vw;
  width: min(10.6666666667vw, 60px);
}
@media screen and (min-width: 768px), print {
  .concept__illust02 {
    bottom: -7px;
    right: -19px;
    width: 62px;
  }
}

.concept__illust03 {
  bottom: -105px;
  left: 18.1333333333vw;
  width: min(20.5333333333vw, 100px);
}
@media screen and (min-width: 768px), print {
  .concept__illust03 {
    bottom: -20px;
    left: auto;
    right: 28px;
    width: 113px;
  }
}

.concept__illust04 {
  bottom: -85px;
  right: 21.3333333333vw;
  width: min(9.6vw, 50px);
}
@media screen and (min-width: 768px), print {
  .concept__illust04 {
    bottom: 84px;
    right: -29px;
    width: 52px;
  }
}

.concept__illust05 {
  right: 4.8vw;
  top: 53px;
  width: 60px;
}
@media screen and (min-width: 768px), print {
  .concept__illust05 {
    bottom: 150px;
    right: 18px;
    width: 88px;
  }
}

.concept__illust06 {
  left: -28px;
  top: -10px;
  width: 105px;
}
@media screen and (min-width: 768px), print {
  .concept__illust06 {
    left: auto;
    right: min(38.5714285714vw, 540px);
    top: 30px;
  }
}

.about {
  overflow: hidden;
  padding-bottom: 220px;
  padding-top: 57px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .about {
    padding-bottom: 135px;
    padding-top: 160px;
  }
}
.about .heading__sub::before, .about .heading__sub::after {
  top: 50px;
}
.about .heading__sub::before {
  -webkit-transform: translateY(-50%) rotate(-70deg);
  transform: translateY(-50%) rotate(-70deg);
}
.about .heading__sub::after {
  -webkit-transform: translateY(-50%) rotate(70deg);
  transform: translateY(-50%) rotate(70deg);
}

.aboutMap {
  margin-bottom: 45px;
  margin-top: 150px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .aboutMap {
    margin-top: 8.5714285714vw;
  }
}
.aboutMap .container {
  position: relative;
}
@media not all and (min-width: 768px), print {
  .aboutMap .container {
    padding-left: 0;
    padding-right: 0;
  }
}

.aboutMap__img {
  position: relative;
}

.about__illust01,
.about__illust02 {
  top: 132px;
  width: min(100.5333333333vw, 450px);
  z-index: -1;
}
@media screen and (min-width: 768px), print {
  .about__illust01,
  .about__illust02 {
    top: -3.3571428571vw;
    width: 53.5714285714vw;
  }
}
.about__illust01 img,
.about__illust02 img {
  width: 100%;
}

.about__illust01 {
  right: -239px;
}
@media screen and (min-width: 768px), print {
  .about__illust01 {
    right: -26.4285714286vw;
  }
}

.about__illust02 {
  left: -239px;
}
@media screen and (min-width: 768px), print {
  .about__illust02 {
    left: -26.4285714286vw;
  }
}

.about__illust03 {
  left: 12.8vw;
  top: min(66.6666666667vw, 300px);
  width: 29px;
}
@media screen and (min-width: 768px), print {
  .about__illust03 {
    left: 17.2857142857vw;
    top: 18.5714285714vw;
    width: 3.2142857143vw;
  }
}

.about__illust04 {
  right: 9.8666666667vw;
  top: 286px;
  width: 27px;
}
@media screen and (min-width: 768px), print {
  .about__illust04 {
    right: 16.6428571429vw;
    top: 18.5714285714vw;
    width: 2.7142857143vw;
  }
}

.about__illust05 {
  right: 20.8vw;
  top: 302px;
  width: 25px;
}
@media screen and (min-width: 768px), print {
  .about__illust05 {
    right: 21.0714285714vw;
    top: 20vw;
    width: 3vw;
  }
}

.about__illust06 {
  bottom: 129px;
  left: -14px;
  width: 73px;
}
@media screen and (min-width: 768px), print {
  .about__illust06 {
    bottom: 140px;
    left: min(8.2142857143vw, 115px);
    width: 97px;
  }
}

.about__illust07 {
  bottom: 47px;
  left: 61px;
  width: 90px;
}
@media screen and (min-width: 768px), print {
  .about__illust07 {
    bottom: 28px;
    left: min(15.4285714286vw, 216px);
    width: 120px;
  }
}

.about__illust08 {
  bottom: 140px;
  right: -12px;
  width: 70px;
}
@media screen and (min-width: 768px), print {
  .about__illust08 {
    bottom: 138px;
    right: min(2.9285714286vw, 41px);
    width: 94px;
  }
}

.about__illust09 {
  bottom: 47px;
  right: 58px;
  width: 113px;
}
@media screen and (min-width: 768px), print {
  .about__illust09 {
    bottom: 0;
    right: min(9.2142857143vw, 129px);
    width: 150px;
  }
}

.about__illust10 {
  left: 32%;
  top: 388px;
  width: 30px;
}
@media screen and (min-width: 768px), print {
  .about__illust10 {
    width: 50px;
  }
}

.about__illust11 {
  right: 23%;
  top: 370px;
  width: 30px;
}
@media screen and (min-width: 768px), print {
  .about__illust11 {
    top: 437px;
    width: 50px;
  }
}

.about__btn {
  margin-top: 10px;
}
@media screen and (min-width: 768px), print {
  .about__btn {
    margin-top: 18px;
  }
}
@media screen and (min-width: 768px), print {
  .about__btn .btn {
    max-width: 300px;
  }
}

.lineWave {
  margin-top: 70px;
  padding-top: 44px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .lineWave {
    margin-top: 100px;
    padding-top: 98px;
  }
}
.lineWave::before {
  background: url(../img/line_wave.png) center/100% 100% no-repeat;
  content: "";
  display: block;
  height: 45px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .lineWave::before {
    height: 100px;
  }
}
@media not all and (min-width: 768px), print {
  .lineWave::before {
    background-size: cover;
  }
}
.lineWave::after {
  background: url(../img/line_blueberry.png) center center/100% 100% no-repeat;
  content: "";
  display: block;
  height: min(18.5714285714vw, 260px);
  height: 145px;
  left: 0;
  position: absolute;
  top: -56px;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .lineWave::after {
    height: 230px;
    left: 20px;
    top: -100px;
    width: 97.5714285714%;
  }
}
@media not all and (min-width: 768px), print {
  .lineWave::after {
    background-size: cover;
  }
}

.top-blueberry {
  background-color: #b9d5a1;
  overflow-x: hidden;
  overflow-y: visible;
  position: relative;
}
.top-blueberry .container {
  padding-bottom: 188px;
}
@media screen and (min-width: 768px), print {
  .top-blueberry .container {
    padding-bottom: 137px;
  }
}
@media not all and (min-width: 768px), print {
  .top-blueberry .container {
    padding-left: 0;
    padding-right: 0;
  }
}
.top-blueberry .heading__sub::before, .top-blueberry .heading__sub::after {
  top: 30px;
}
.top-blueberry .heading__sub::before {
  -webkit-transform: translateY(-50%) rotate(-60deg);
  transform: translateY(-50%) rotate(-60deg);
}
.top-blueberry .heading__sub::after {
  -webkit-transform: translateY(-50%) rotate(60deg);
  transform: translateY(-50%) rotate(60deg);
}
.top-blueberry .top-blueberry__comment {
  background: url(../img/bg_comment.png) center/100% 100% no-repeat;
  padding: 10.1333333333vw 0px 36.8vw;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .top-blueberry .top-blueberry__comment {
    font-size: max(0.9375rem, min(1.0714285714vw, 1.25rem));
    left: 6.7857142857vw;
    padding: 5.7142857143vw 20px 12.7142857143vw;
    position: absolute;
    top: 155px;
    width: max(37.8571428571vw, 500px);
    z-index: 2;
  }
}
@media not all and (min-width: 768px), print {
  .top-blueberry .top-blueberry__comment {
    margin-left: -35px;
    margin-right: -35px;
  }
}
@media screen and (min-width: 768px), print {
  .top-blueberry .top-blueberry__comment.popup.js-fadein {
    transition-delay: 1.2s;
  }
}
.top-blueberry .top-blueberry__comment .fs-1 {
  font-size: 1.25rem;
  line-height: 1;
}
.top-blueberry .top-blueberry__comment em {
  position: relative;
}
.top-blueberry .top-blueberry__comment em::after {
  background: url(../img/common/line01.png) center/cover no-repeat;
  bottom: -5px;
  content: "";
  display: block;
  height: 11px;
  left: 8px;
  position: absolute;
  width: 82px;
  z-index: -1;
}
.top-blueberry .top-blueberry__illust01 {
  right: 21.3333333333vw;
  top: 530px;
  width: 7.4666666667vw;
}
@media screen and (min-width: 768px), print {
  .top-blueberry .top-blueberry__illust01 {
    right: 18.1428571429vw;
    top: min(15.7142857143vw, 220px);
    width: max(43px, min(3.0714285714vw, 70px));
  }
}
.top-blueberry .top-blueberry__illust02 {
  right: 7.2vw;
  top: 550px;
  width: 6.9333333333vw;
}
@media screen and (min-width: 768px), print {
  .top-blueberry .top-blueberry__illust02 {
    right: 12.1428571429vw;
    top: min(17.8571428571vw, 250px);
    width: max(40px, min(2.8571428571vw, 68px));
  }
}
.top-blueberry .top-blueberry__illust02 img {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}
.top-blueberry .top-blueberry__illust03 {
  left: 39.2vw;
  top: -8.8vw;
  width: 8vw;
}
@media screen and (min-width: 768px), print {
  .top-blueberry .top-blueberry__illust03 {
    left: 10.3571428571vw;
    top: -81px;
    width: max(44px, min(3.1428571429vw, 70px));
  }
}
.top-blueberry .top-blueberry__illust04 {
  left: 29.3333333333vw;
  top: -8.8vw;
  width: 6.9333333333vw;
}
@media screen and (min-width: 768px), print {
  .top-blueberry .top-blueberry__illust04 {
    left: 6.6428571429vw;
    top: -66px;
    width: max(40px, min(2.8571428571vw, 65px));
  }
}
@media screen and (min-width: 768px), print {
  .top-blueberry .blueberry-slider._top {
    margin-top: max(170px, min(12.1428571429vw, 370px));
  }
}
.top-blueberry .point {
  gap: 30px;
}
@media screen and (min-width: 768px), print {
  .top-blueberry .point {
    gap: 35px;
  }
}
.top-blueberry .point__item {
  padding: 40px 10px 30px;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .top-blueberry .point__item {
    padding: 40px 10px 64px;
  }
}
.top-blueberry .point__item:nth-child(1) {
  background: url(../img/bg_point01.png) center/100% 100% no-repeat;
}
.top-blueberry .point__item:nth-child(2) {
  background: url(../img/bg_point02.png) center/100% 100% no-repeat;
}
.top-blueberry .point__item:nth-child(2) .point__ttl {
  background: #e594b0;
}
.top-blueberry .point__item:nth-child(3) {
  background: url(../img/bg_point03.png) center/100% 100% no-repeat;
}
.top-blueberry .point__item:nth-child(3) .point__ttl {
  background: #826cc9;
}
.top-blueberry .point__item > *:not(.point__ttl) {
  margin-top: 17px;
}
@media not all and (min-width: 768px), print {
  .top-blueberry .point__item {
    margin-inline: auto;
    width: min(92vw, 450px);
  }
}
.top-blueberry .point__img {
  margin-inline: auto;
}
@media screen and (min-width: 768px), print {
  .top-blueberry .point__img {
    max-width: 273px;
  }
}
@media not all and (min-width: 768px), print {
  .top-blueberry .point__img {
    width: min(72.8vw, 350px);
  }
}
.top-blueberry .point__ttl {
  -webkit-mask: url(../img/bg_point_tti01.svg) center/100% 100% no-repeat;
  background: #68ad53;
  color: #ffffff;
  display: flex;
  font-size: 1.75rem;
  justify-content: center;
  margin-inline: auto;
  mask: url(../img/bg_point_tti01.svg) center/100% 100% no-repeat;
  padding: 9px 0 20px;
  position: relative;
}
.top-blueberry .point__ttl::after {
  -webkit-mask: url(../img/bg_point_tti01_1.svg) center/cover no-repeat;
  background: #68ad53;
  content: "";
  display: block;
  height: 20px;
  mask: url(../img/bg_point_tti01_1.svg) center/cover no-repeat;
  position: absolute;
  right: 50px;
  top: 0;
  width: 21px;
}
.top-blueberry .point__ttl span {
  font-size: 2.125rem;
}
.top-blueberry .point__ttl span::before, .top-blueberry .point__ttl span::after {
  content: "";
  display: block;
  height: 1px;
  width: 0;
}
.top-blueberry .point__ttl span::before {
  margin-top: calc((1 - 1.5) * 0.5em);
}
.top-blueberry .point__ttl span::after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}
.top-blueberry .point__text {
  line-height: 2;
}
.top-blueberry .point__text .fs-1 {
  font-size: 1.5rem;
  line-height: 1;
}
@media not all and (min-width: 768px), print {
  .top-blueberry .bnr {
    margin-left: 30px;
    margin-right: 30px;
  }
}

.top-blueberry__btn {
  margin-bottom: 118px;
  margin-top: 100px;
}
@media screen and (min-width: 768px), print {
  .top-blueberry__btn .btn {
    max-width: 488px;
  }
}
@media not all and (min-width: 768px), print {
  .top-blueberry__btn .btn {
    padding: 20px 20px 20px 40px;
  }
}

.top-info {
  background: #fff;
  padding-bottom: 35px;
  padding-top: 33px;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px), print {
  .top-info {
    padding-bottom: 110px;
    padding-top: 110px;
  }
}
.top-info::before {
  background: url(../img/bg_info.png) center center/100% 100% no-repeat;
  content: "";
  display: block;
  height: 75px;
  left: 0;
  position: absolute;
  top: -45px;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .top-info::before {
    height: 123px;
    top: max(-108px, min(-4.9285714286vw, -69px));
  }
}
@media not all and (min-width: 768px), print {
  .top-info::before {
    background-size: cover;
  }
}
.top-info::after {
  background: url(../img/line_wave2.png) center center/100% 100% no-repeat;
  bottom: -48px;
  content: "";
  display: block;
  height: 50px;
  left: 0;
  position: absolute;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .top-info::after {
    bottom: -65px;
    height: 80px;
  }
}
@media not all and (min-width: 768px), print {
  .top-info::after {
    background-size: cover;
  }
}

.top-info__btn {
  margin-top: 56px;
}
@media screen and (min-width: 768px), print {
  .top-info__btn .btn {
    max-width: 330px;
  }
}

.snsarea {
  padding-top: 150px;
}
@media screen and (min-width: 768px), print {
  .snsarea {
    padding-bottom: 88px;
    padding-top: 230px;
  }
}

.insta {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px), print {
  .insta {
    flex-direction: row;
    margin-right: calc(50% - 50vw);
  }
}
.insta .insta__ttl {
  line-height: 1.2222222222;
  margin-bottom: min(2.3571428571vw, 33px);
}
.insta .insta__ttl::before {
  background: url(../img/common/icon_insta.png) center/cover no-repeat;
  height: 46px;
  width: 46px;
}
@media screen and (min-width: 768px), print {
  .insta .insta__head {
    flex-shrink: 0;
    width: 245px;
  }
}
@media not all and (min-width: 768px), print {
  .insta .insta__head {
    display: contents;
  }
}
.insta .instaField {
  -ms-grid-columns: 1fr 17px 1fr;
  display: -ms-grid;
  display: grid;
  gap: 17px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px), print {
  .insta .instaField {
    -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr 20px 1fr;
    gap: 20px;
    grid-template-columns: repeat(5, 1fr);
    margin-right: -40px;
  }
}
@media not all and (min-width: 768px), print {
  .insta .instaField {
    margin-top: 18px;
  }
}
.insta .instaField__item a {
  border-radius: 20px;
}
.insta .instaField__item img {
  -o-object-fit: cover;
  aspect-ratio: 200/200;
  object-fit: cover;
}
@media screen and (min-width: 768px), print {
  .insta .instaField__item:nth-child(n+6) {
    display: none;
  }
}
.insta .snsbtn {
  color: #d600c3;
}
.insta .snsbtn .arrow::after {
  background: #fff;
}
@media not all and (min-width: 768px), print {
  .insta .snsbtn {
    justify-content: flex-end;
    margin-top: 25px;
    order: 1;
  }
}

.snsarea .snsttl {
  font-size: 1.75rem;
  text-align: left;
}
.snsarea .snsttl::before {
  content: "";
  display: inline-block;
  margin-right: 18px;
  vertical-align: middle;
}
.snsarea .snslink {
  margin-top: 40px;
}
@media screen and (min-width: 768px), print {
  .snsarea .snslink {
    display: flex;
    justify-content: center;
    margin-top: 50px;
  }
}
.snsarea .snslink__btn {
  border-radius: 22px;
  color: #ffffff;
  padding: 16px 21px 28px;
}
@media screen and (min-width: 768px), print {
  .snsarea .snslink__btn {
    align-items: center;
    display: flex;
    justify-content: space-between;
    max-width: 556px;
    padding: 2.0512820513% 3.4188034188%;
  }
}
.snsarea .snslink__btn._line {
  background-color: #06c755;
}
@media not all and (min-width: 768px), print {
  .snsarea .snslink__btn._line {
    margin-top: 22px;
  }
}
.snsarea .snslink__btn._line .snsttl {
  font-size: 1.25rem;
  padding-left: 83px;
  position: relative;
}
.snsarea .snslink__btn._line .snsttl::before {
  -webkit-transform: translateY(-50%);
  background: url(../img/common/icon_line.png) center/cover no-repeat;
  height: 57px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 57px;
}
.snsarea .snslink__btn._line .qrcode {
  width: 105px;
}
.snsarea .snslink__btn._line .arrow::after {
  background: #06c755;
}
.snsarea .snslink__btn._line .snsbtn {
  -webkit-transform: translateY(-50%);
  position: absolute;
  right: 5vw;
  top: 50%;
  transform: translateY(-50%);
}
.snsarea .snsbtn {
  align-items: center;
  display: flex;
  font-size: 1.25rem;
}
.snsarea .snsbtn .arrow {
  background-color: currentColor;
  margin-left: 15px;
}
@media screen and (min-width: 768px), print {
  .snsarea .snsbtn .arrow {
    margin-left: 35px;
  }
}

.guide .container {
  max-width: 1150px;
  padding-left: 15px;
  padding-right: 15px;
}
.guide .guide-about .container {
  margin-bottom: 145px;
}
@media screen and (min-width: 768px), print {
  .guide .guide-about .container {
    margin-bottom: 20px;
  }
}
.guide .point {
  gap: 100px 0;
  margin-top: 125px;
}
@media screen and (min-width: 768px), print {
  .guide .point {
    gap: 97px;
    margin-top: 135px;
  }
}
.guide .point__item {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  position: relative;
}
.guide .point__ttl {
  color: #589e42;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: -0.03em;
  line-height: 1.5;
}
.guide .point__ttl::before, .guide .point__ttl::after {
  content: "";
  display: block;
  height: 1px;
  width: 0;
}
.guide .point__ttl::before {
  margin-top: calc((1 - 1.5) * 0.5em);
}
.guide .point__ttl::after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}
@media screen and (min-width: 768px), print {
  .guide .point__ttl {
    font-size: 1.25rem;
  }
}
.guide .point__nbr {
  align-items: center;
  background: url(../img/guide/bg_point_ttl.png) center/cover no-repeat;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  font-weight: bold;
  height: 82px;
  justify-content: center;
  left: 0;
  letter-spacing: 0.1em;
  line-height: 1;
  padding-right: 5px;
  position: absolute;
  top: -53px;
  width: 97px;
}
@media screen and (min-width: 768px), print {
  .guide .point__nbr {
    font-size: 1.0625rem;
    height: 110px;
    left: -30px;
    width: 128px;
  }
}
.guide .point__nbr span {
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #fff;
  display: block;
  font-size: 1.875rem;
  margin-top: 0.125em;
}
@media screen and (min-width: 768px), print {
  .guide .point__nbr span {
    font-size: 2.5rem;
  }
}
.guide .point__body {
  flex-grow: 1;
  padding: 15px;
}
@media screen and (min-width: 768px), print {
  .guide .point__body {
    padding: 35px 0 20px 0;
  }
}
.guide .point__img img {
  -o-object-fit: cover;
  aspect-ratio: 345/235;
  border-radius: 70px 0 0 0;
  object-fit: cover;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .guide .point__img img {
    aspect-ratio: 510/350;
    border-radius: 100px 10px 10px 10px;
  }
}
.guide .point__text {
  margin-top: 20px;
}
.guide .shopDetail {
  background-color: #e7e0f6;
  padding-top: 30px;
  position: relative;
}
.guide .shopDetail::before {
  background: url(../img/guide/line_top.png) center/100% 100% no-repeat;
  content: "";
  display: block;
  height: 138px;
  left: 0;
  position: absolute;
  top: -55px;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .guide .shopDetail::before {
    top: max(-105px, min(-5vw, -70px));
  }
}
.guide .shopDetail::after {
  background: url(../img/guide/line_btm.png) center/100% 100% no-repeat;
  bottom: -83px;
  content: "";
  display: block;
  height: 85px;
  left: 0;
  position: absolute;
  width: 100%;
}
@media not all and (min-width: 768px), print {
  .guide .shopDetail::before, .guide .shopDetail::after {
    background-size: cover;
  }
}
.guide .shopDetail__wrap {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .guide .shopDetail__wrap {
    display: flex;
    justify-content: space-between;
  }
}
.guide .detaTable {
  width: 100%;
}
.guide .detaTable tr {
  font-weight: bold;
}
@media screen and (min-width: 768px), print {
  .guide .detaTable tr {
    font-size: 1.375rem;
  }
}
.guide .detaTable tr:not(:last-child) th,
.guide .detaTable tr:not(:last-child) td {
  border-bottom: 1px dashed currentColor;
}
.guide .detaTable th {
  background-color: #472b98;
  color: #ffffff;
  letter-spacing: 0.1em;
  padding: 0.6818181818em 1.5909090909em;
  text-align: left;
  width: 35.3623188406%;
}
@media screen and (min-width: 768px), print {
  .guide .detaTable th {
    width: 35.4581673307%;
  }
}
.guide .detaTable td {
  background-color: #fff;
  color: #472b98;
  letter-spacing: 0.05em;
  line-height: 1.3636363636;
  padding: 0.6818181818em 1.3636363636em;
}
@media screen and (min-width: 768px), print {
  .guide .shopDeta {
    width: 44.8214285714%;
  }
}
@media not all and (min-width: 768px), print {
  .guide .shopPrice {
    margin-top: 45px;
  }
}
@media screen and (min-width: 768px), print {
  .guide .shopPrice {
    width: 43.75%;
  }
}
.guide .shopPrice th {
  width: 56.8115942029%;
}
@media screen and (min-width: 768px), print {
  .guide .shopPrice th {
    width: 56.7346938776%;
  }
}
.guide .shopPrice th span {
  font-size: 0.75rem;
}
@media screen and (min-width: 768px), print {
  .guide .shopPrice th span {
    font-size: 1rem;
  }
}
.guide .shopPrice td {
  text-align: center;
}
.guide .shopPrice td span {
  font-size: 0.75rem;
}
@media screen and (min-width: 768px), print {
  .guide .shopPrice td span {
    font-size: 0.875rem;
  }
}
.guide .shopPrice__note {
  font-size: 0.75rem;
  font-weight: bold;
  margin-top: 0.8333333333em;
}
.guide .shopPrice__note + .shopPrice__note {
  margin-top: 0;
}
.guide .bnrArea {
  overflow-x: hidden;
  padding-top: 120px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .guide .bnrArea {
    padding-top: 138px;
  }
}
.guide .about__illust01,
.guide .about__illust02 {
  top: 25%;
}
@media screen and (min-width: 768px), print {
  .guide .about__illust01,
  .guide .about__illust02 {
    top: 125px;
    width: min(53.5714285714vw, 750px);
  }
}
@media screen and (min-width: 768px), print {
  .guide .about__illust01 {
    right: max(-26.4285714286vw, -370px);
  }
}
@media screen and (min-width: 768px), print {
  .guide .about__illust02 {
    left: max(-26.4285714286vw, -370px);
  }
}
.guide .reserveArea {
  padding-bottom: 69.8666666667vw;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .guide .reserveArea {
    padding-bottom: min(37.7142857143vw, 528px);
  }
}
.guide .reserveArea .illustTree {
  z-index: -1;
}
.guide .reserveArea .reserve__illust03 {
  left: calc(50% + 100px);
  top: -3px;
  width: 30px;
}
@media screen and (min-width: 768px), print {
  .guide .reserveArea .reserve__illust03 {
    left: calc(50% + 250px);
    top: 17px;
    width: 37px;
  }
}
.guide .reserveArea .reserve__illust03 img {
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.guide .reserve {
  background: url(../img/guide/bg_reserve.png) center/100% 100% no-repeat;
  height: 458px;
  margin-inline: auto;
  margin-top: 77px;
  max-width: 790px;
  padding-top: 60px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .guide .reserve {
    height: 447px;
    margin-top: 100px;
  }
}
@media not all and (min-width: 768px), print {
  .guide .reserve {
    width: 93%;
  }
}
.guide .reserve .heading__main {
  font-size: 1.75rem;
}
@media screen and (min-width: 768px), print {
  .guide .reserve .heading__main {
    font-size: 1.875rem;
  }
}
.guide .reserve .heading__main::before {
  content: none;
}
.guide .reserve .reserve__illust01 {
  left: 52px;
  top: 21px;
  width: 29px;
}
@media screen and (min-width: 768px), print {
  .guide .reserve .reserve__illust01 {
    left: 84px;
    width: 36px;
  }
}
.guide .reserve .reserve__illust02 {
  left: 104px;
  top: -49px;
  width: 27px;
}
@media screen and (min-width: 768px), print {
  .guide .reserve .reserve__illust02 {
    left: 147px;
    top: -33px;
    width: 33px;
  }
}
.guide .reserve .reserve__illust02 img {
  -webkit-animation-delay: 3s;
  -webkit-transform: scale(-1, 1);
  animation-delay: 3s;
  transform: scale(-1, 1);
}
.guide .reserve .telbox {
  background-color: #fff;
  border-radius: 20px;
  color: #472b98;
  margin-inline: auto;
  margin-top: 20px;
  max-width: 290px;
  padding: 20px;
}
@media screen and (min-width: 768px), print {
  .guide .reserve .telbox {
    max-width: 440px;
    padding: 30px;
  }
}
.guide .reserve .telbox .tel {
  font-size: 1.75rem;
  letter-spacing: 0.04em;
}
.guide .reserve .telbox .tel::before {
  background: url(../img/common/icon_tel.png) center/cover no-repeat;
  content: "";
  display: inline-block;
  height: 25px;
  margin-right: 5px;
  vertical-align: middle;
  width: 25px;
}
@media screen and (min-width: 768px), print {
  .guide .reserve .telbox .tel::before {
    font-size: 1.875rem;
    height: 30px;
    width: 30px;
  }
}
.guide .reserve .telbox .note {
  font-size: 0.875rem;
}

.guide-about__top {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  position: relative;
}
@media not all and (min-width: 768px), print {
  .guide-about__top {
    padding-bottom: 165px;
  }
}

.guide-about__head {
  color: #589e42;
  font-size: 1.4375rem;
  font-weight: bold;
  margin-bottom: 1.25em;
  margin-inline: auto;
  padding-top: 15px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px), print {
  .guide-about__head {
    font-size: 2.25rem;
  }
}
.guide-about__head span {
  font-size: 2.25rem;
}
@media screen and (min-width: 768px), print {
  .guide-about__head span {
    font-size: 2.875rem;
  }
}
.guide-about__head::before {
  background: url(../img/guide/ttl_about.svg) center/cover no-repeat;
  content: "";
  display: block;
  height: 23px;
  left: 38px;
  position: absolute;
  top: 0;
  width: 28px;
}
@media screen and (min-width: 768px), print {
  .guide-about__head::before {
    width: 36px;
  }
}

.guide-about__illust {
  height: 147px;
  width: 157px;
}
.guide-about__illust.--left {
  -webkit-transform: scale(-1, 1);
  bottom: 0;
  left: 0;
  transform: scale(-1, 1);
}
@media screen and (min-width: 768px), print {
  .guide-about__illust.--left {
    bottom: auto;
    top: 0;
  }
}

.guide-about__illust01 {
  bottom: 0;
  left: calc(50% + 50px);
  width: clamp(97px, 11.5714285714vw, 162px);
}
@media screen and (min-width: 768px), print {
  .guide-about__illust01 {
    bottom: auto;
    left: calc(50% + 400px);
    top: 140px;
  }
}

.guide-about__illust02 {
  bottom: 77px;
  left: calc(50% - 2px);
  width: clamp(50px, 6vw, 84px);
}
@media screen and (min-width: 768px), print {
  .guide-about__illust02 {
    bottom: auto;
    left: calc(50% + 300px);
    top: 82px;
  }
}

.guide-about__illust03 {
  bottom: 63px;
  right: 50%;
  width: clamp(50px, 6vw, 84px);
}
@media screen and (min-width: 768px), print {
  .guide-about__illust03 {
    bottom: auto;
    right: calc(50% + 360px);
    top: 57px;
  }
}

.guide-about__illust04 {
  bottom: -50px;
  right: calc(50% + 23px);
  width: clamp(35px, 3.5714285714vw, 50px);
}
@media screen and (min-width: 768px), print {
  .guide-about__illust04 {
    bottom: auto;
    right: calc(50% + 335px);
    top: 184px;
  }
}

.guide-about__illust05 {
  bottom: 0;
  right: calc(50% + 110px);
  width: clamp(50px, 5.9285714286vw, 83px);
}
@media screen and (min-width: 768px), print {
  .guide-about__illust05 {
    bottom: auto;
    right: calc(50% + 480px);
    top: 93px;
  }
}

@media screen and (min-width: 768px), print {
  .access .heading__main {
    font-size: 1.875rem;
  }
}
.access .heading__main::before {
  content: none;
}
.access .access-map {
  padding-bottom: 235px;
}
@media screen and (min-width: 768px), print {
  .access .access-map {
    padding-bottom: 167px;
  }
}
.access .access-map .map-wrap {
  position: relative;
}
@media screen and (min-width: 768px), print {
  .access .access-map .map-wrap {
    width: 56.974459725%;
  }
}
.access .access-map .map-wrap a {
  background-color: #589e42;
  border-radius: 50%;
  bottom: max(-4.1428571429vw, -58px);
  color: #ffffff;
  display: block;
  display: -ms-grid;
  display: grid;
  height: 60px;
  justify-items: center;
  letter-spacing: 0.05em;
  padding-top: 9px;
  position: absolute;
  right: max(-3.3571428571vw, -47px);
  text-align: center;
  width: 60px;
}
@media screen and (min-width: 768px), print {
  .access .access-map .map-wrap a {
    height: 100px;
    padding-top: 18px;
    width: 100px;
  }
}
@media not all and (min-width: 768px), print {
  .access .access-map .map-wrap a {
    font-size: 0.625rem;
  }
}
.access .access-map .map-wrap a::after {
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 4.5px 0 4.5px 7px;
  bottom: 10px;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  width: 0;
}
@media screen and (min-width: 768px), print {
  .access .access-map .map-wrap a::after {
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: 7.5px 0 7.5px 13px;
    bottom: 13px;
    height: 0;
    width: 0;
  }
}
.access .access-map .map iframe {
  aspect-ratio: 357/210;
  height: 100%;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .access .access-map .map iframe {
    aspect-ratio: 580/350;
  }
}
@media screen and (min-width: 768px), print {
  .access .access-map__outer {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px), print {
  .access .access-deta {
    width: 38.3104125737%;
  }
}
.access .access-deta dt {
  color: #212376;
  width: 95px;
}
.access .access-deta dt,
.access .access-deta dd {
  padding: 15px;
}
.access .access-deta .access-deta__wrap {
  border-bottom: 2px dashed #bbb1d9;
  display: flex;
}
@media not all and (min-width: 768px), print {
  .access .access-deta {
    margin-top: 15px;
  }
}
.access .info {
  background-color: #f9f8f0;
  position: relative;
}
.access .info::before {
  background: url(../img/access/line_top.png) center/100% 100% no-repeat;
  content: "";
  display: block;
  height: 103px;
  left: 0;
  position: absolute;
  top: -60px;
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .access .info::before {
    top: -80px;
  }
}
.access .info::after {
  background: url(../img/access/line_btm.png) center/100% 100% no-repeat;
  bottom: -99px;
  content: "";
  display: block;
  height: 99px;
  left: 0;
  position: absolute;
  width: 100%;
}
@media not all and (min-width: 768px), print {
  .access .info::before, .access .info::after {
    background-size: cover;
  }
}
.access .info .illust-butterfly02 {
  -webkit-transform: scale(-1, 1);
  right: 108px;
  top: -58px;
  transform: scale(-1, 1);
}
.access .info .illust-butterfly02 .butterfly {
  width: 30px;
}
@media screen and (min-width: 768px), print {
  .access .info .illust-butterfly02 {
    right: 300px;
    top: -57px;
  }
  .access .info .illust-butterfly02 .butterfly {
    width: 40px;
  }
}
.access .info .info__illust._top {
  right: -25px;
  top: -174px;
  width: 160px;
}
@media screen and (min-width: 768px), print {
  .access .info .info__illust._top {
    top: -245px;
    width: 275px;
  }
}
.access .info .info__illust._btm {
  bottom: 32px;
  right: min(9.4285714286vw, 132px);
  width: 227px;
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .access .info .info__illust._btm {
    width: min(32.1428571429vw, 450px);
    width: 240px;
  }
}
.access .info__ttl {
  color: #472b98;
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (min-width: 768px), print {
  .access .info__ttl {
    font-size: 1.625rem;
  }
}
.access .info__ttlimg {
  margin-right: 15px;
}
.access .info__ttlwrap {
  align-items: center;
  display: flex;
  margin-bottom: 30px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px), print {
  .access .info__ttlwrap {
    margin-bottom: 40px;
  }
}
.access .info__ttlwrap::after {
  -webkit-mask: url(../img/common/line02.png) center/100% 100% no-repeat;
  bottom: -20px;
  content: "";
  display: block;
  height: 12px;
  left: 0;
  mask: url(../img/common/line02.png) center/100% 100% no-repeat;
  position: absolute;
  width: 105%;
}
.access .info-section + .info-section {
  margin-top: 40px;
}
.access .info-section:nth-child(1) .info__ttlwrap::after {
  background: #edc0d0;
}
.access .info-section:nth-child(1) .info__ttlimg {
  width: 73px;
}
@media screen and (min-width: 768px), print {
  .access .info-section:nth-child(1) .info__ttlimg {
    width: 114px;
  }
}
.access .info-section:nth-child(2) .info__ttlwrap::after {
  background: #99d188;
}
.access .info-section:nth-child(2) .info__ttlimg {
  width: 57px;
}
@media screen and (min-width: 768px), print {
  .access .info-section:nth-child(2) .info__ttlimg {
    width: 87px;
  }
}
.access .info-section:nth-child(3) .info__ttlwrap::after {
  background: #b7a4f0;
}
.access .info-section:nth-child(3) .info__ttlimg {
  width: 24px;
}
@media screen and (min-width: 768px), print {
  .access .info-section:nth-child(3) .info__ttlimg {
    width: 38px;
  }
}
.access .info-section:nth-child(3) .info__note {
  font-size: 0.75rem;
}
.access .info-section:nth-child(3) .info__textbox {
  padding-left: 15px;
	line-height: 2;
}
@media screen and (min-width: 768px), print {
  .access .info-section:nth-child(3) .info__textbox {
    padding-left: 45px;
  }
}
.access .info-section:nth-child(3) .telbox {
  align-items: center;
  background: url(../img/access/bg_tel.png) center/cover no-repeat;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  height: 90px;
  justify-content: center;
  margin-top: 20px;
  width: 287px;
}

@media screen and (min-width: 768px), print {
  .access .info-section:nth-child(3) .telbox {
    margin-top: 34px;
  }
}
.access .info-section:nth-child(3) .telbox .tel {
  font-size: 1.5rem;
}
.access .shoptime-outer {
  margin-inline: auto;
  max-width: 1255px;
  position: relative;
}
.access .shoptime {
  padding-bottom: 230px;
  padding-top: 230px;
}
.access .shoptime .container.--primary {
  max-width: 1030px;
}
@media screen and (min-width: 768px), print {
  .access .shoptime {
    padding-bottom: 72px;
    padding-top: 160px;
  }
}
.access .shoptime .shoptime__illust {
  left: 18px;
  top: -57px;
  width: clamp(77px, 9.2857142857vw, 130px);
}
@media screen and (min-width: 768px), print {
  .access .shoptime .shoptime__illust {
    left: 109px;
    top: -39px;
  }
}
.access .shoptime .shoptime__illust02 {
  right: 25px;
  top: -152px;
  width: 223px;
}
@media screen and (min-width: 768px), print {
  .access .shoptime .shoptime__illust02 {
    right: 54px;
    top: -159px;
    width: 388px;
    width: clamp(300px, 27.7142857143vw, 388px);
  }
}
.access .shoptime__box {
  align-items: center;
  background-color: #fff;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 6% 4%;
}
@media screen and (min-width: 768px), print {
  .access .shoptime__box {
    align-items: flex-start;
    flex-direction: row;
  }
}
@media screen and (min-width: 768px), print {
  .access .shoptime__wrap {
    display: flex;
  }
}
@media not all and (min-width: 768px), print {
  .access .shoptime__wrap {
    width: 100%;
  }
  .access .shoptime__wrap:not(:first-child) {
    margin-top: 40px;
  }
}
.access .shoptime__wrap .time {
  line-height: 1.3333333333;
}
@media screen and (min-width: 768px), print {
  .access .shoptime__wrap .time {
    margin-left: 15px;
  }
}
@media not all and (min-width: 768px), print {
  .access .shoptime__wrap .time {
    margin-top: 25px;
    text-align: center;
  }
}
.access .shoptime__ttl {
  background-color: #da7d9e;
  border-radius: 27px;
  color: #ffffff;
  display: -ms-grid;
  display: grid;
  font-size: 1rem;
  height: 76px;
  padding: 1em;
  place-items: center;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .access .shoptime__ttl {
    width: 205px;
  }
}
.access .shoptime__ttl span {
  display: block;
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px), print {
  .access .guidance-outer {
    padding-top: 185px;
  }
}
@media not all and (min-width: 768px), print {
  .access .guidance-outer {
    padding-bottom: 198px;
  }
}
.access .guidance {
  background: url(../img/guide/bg_guidance_sp.png) center/100% 100% no-repeat;
  height: 700px;
  margin-inline: auto;
  max-width: 850px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .access .guidance {
    background: url(../img/guide/bg_guidance.png) center/100% 100% no-repeat;
    height: 446px;
  }
}
@media not all and (min-width: 768px), print {
  .access .guidance {
    padding-top: 65px;
  }
}
@media screen and (min-width: 768px), print {
  .access .guidance .heading__main {
    margin-top: -7px;
  }
}
.access .guidance__illust01 {
  bottom: -109px;
  left: 115px;
  width: clamp(82px, 7.5vw, 105px);
}
@media screen and (min-width: 768px), print {
  .access .guidance__illust01 {
    bottom: auto;
    left: 13px;
    top: -202px;
    width: 138px;
  }
}
.access .guidance__illust06 {
  bottom: -142px;
  left: 30px;
  width: clamp(62px, 7.5vw, 105px);
}
@media screen and (min-width: 768px), print {
  .access .guidance__illust06 {
    bottom: auto;
    left: -132px;
    top: -185px;
    width: 105px;
  }
}
.access .guidance__illust02,
.access .guidance__illust03 {
  width: 52px;
}
@media screen and (min-width: 768px), print {
  .access .guidance__illust02,
  .access .guidance__illust03 {
    width: 65px;
  }
}
@media screen and (min-width: 768px), print {
  .access .guidance__illust02 {
    bottom: 192px;
    right: -102px;
  }
}
@media not all and (min-width: 768px), print {
  .access .guidance__illust02 {
    left: 64px;
    top: -89px;
  }
}
.access .guidance__illust03 {
  -webkit-transform: scale(-1, 1);
  bottom: -60px;
  right: 35px;
  transform: scale(-1, 1);
}
@media screen and (min-width: 768px), print {
  .access .guidance__illust03 {
    bottom: 131px;
    left: -102px;
    right: auto;
  }
}
.access .guidance__illust04 {
  right: 48px;
  top: -206px;
  width: clamp(158px, 18.7857142857vw, 263px);
}
@media screen and (min-width: 768px), print {
  .access .guidance__illust04 {
    right: -113px;
    top: -220px;
  }
}
.access .guidance__illust05 {
  right: 114px;
  top: -153px;
  width: clamp(28px, 3.3571428571vw, 47px);
}
@media screen and (min-width: 768px), print {
  .access .guidance__illust05 {
    right: 2px;
    top: -130px;
  }
}
.access .guidance-contents {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px), print {
  .access .guidance-contents {
    flex-direction: row;
    justify-content: center;
  }
}
@media not all and (min-width: 768px), print {
  .access .guidance-contents {
    align-items: center;
    margin-top: 68px;
  }
}
@media screen and (min-width: 768px), print {
  .access .guidance-list + .guidance-list {
    margin-left: 85px;
  }
}
@media not all and (min-width: 768px), print {
  .access .guidance-list + .guidance-list {
    margin-left: -30px;
    margin-top: 35px;
  }
}
.access .guidance-list__item {
  align-items: center;
  display: flex;
}
.access .guidance-list__item:not(:first-child) {
  margin-top: 25px;
}
.access .guidance-list__ttl {
  border: 2px solid currentColor;
  color: #472b97;
  font-size: 0.75rem;
  margin-right: 1.25em;
  padding: 6px;
  text-align: center;
  width: 108px;
}
.access .guidance-list__link::after {
  background: url(../img/common/icon_link.png) center/cover no-repeat;
  content: "";
  display: inline-block;
  height: 18px;
  margin-left: 12px;
  vertical-align: middle;
  width: 18px;
}
.access .illustTree {
  bottom: 40px;
  position: relative;
}

.feature-about {
  padding-bottom: 100px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .feature-about {
    padding-bottom: 275px;
  }
}
.feature-about .container {
  overflow: hidden;
  padding-bottom: 70px;
  position: relative;
}
@media not all and (min-width: 768px), print {
  .feature-about .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width: 768px), print {
  .feature-about .container {
    width: 95%;
  }
}
.feature-about .read + .read {
  margin-top: 35px;
}
@media screen and (min-width: 768px), print {
  .feature-about::after {
    background: url(../img/feature/bg_about.png) center/100% 100% no-repeat;
    content: "";
    display: block;
    height: min(70vw, 980px);
    position: absolute;
    top: -88px;
    width: 100%;
    z-index: -1;
  }
}

.feature-about__illust01,
.feature-about__illust02 {
  width: clamp(290px, 38.2142857143vw, 535px);
}

.feature-about__illust01 {
  bottom: 0;
  right: 50%;
}

.feature-about__illust02 {
  -webkit-transform: scale(-1, 1);
  bottom: 30px;
  left: calc(50% + 20px);
  transform: scale(-1, 1);
}

.feature-about__illust03 {
  left: calc(50% + 100px);
  top: -49px;
  width: 76px;
}
@media screen and (min-width: 768px), print {
  .feature-about__illust03 {
    left: calc(50% + 321px);
    top: 0;
  }
}

.feature-about__illust04 {
  right: calc(50% - 153px);
  width: 76px;
}
.feature-about__illust04 img {
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}
@media screen and (min-width: 768px), print {
  .feature-about__illust04 {
    right: calc(50% + 153px);
  }
}
@media not all and (min-width: 768px), print {
  .feature-about__illust04 {
    bottom: 130px;
  }
}

.feature-about__illust05 {
  left: 25px;
  width: 76px;
}
@media screen and (min-width: 768px), print {
  .feature-about__illust05 {
    left: calc(50% + 422px);
  }
}
@media not all and (min-width: 768px), print {
  .feature-about__illust05 {
    bottom: 141.3333333333vw;
  }
}
.feature-about__illust05 img {
  -webkit-transform: rotate(-40deg) scale(-1, 1);
  transform: rotate(-40deg) scale(-1, 1);
}

@media screen and (min-width: 768px), print {
  .feature-about__top {
    padding-top: 65px;
  }
}

.feature-about__head {
  color: #68ac53;
  font-size: clamp(1.4375rem, 2.5714285714vw, 2.25rem);
  margin-bottom: 1.3888888889em;
  position: relative;
}
.feature-about__head .fs-1 {
  font-size: clamp(2rem, 3.5714285714vw, 3.125rem);
  position: relative;
}
.feature-about__head .fs-1::after {
  background: url(../img/common/line_wave.svg) center/100% 100% no-repeat;
  bottom: -8px;
  content: "";
  display: block;
  height: 12px;
  left: 0;
  position: absolute;
  width: clamp(56px, 6.4285714286vw, 90px);
}
.feature-about__head .fs-2 {
  font-size: clamp(2.25rem, 3.2857142857vw, 2.875rem);
}
.feature-about__head::before {
  -webkit-transform: translateY(-50%) rotate(16deg);
  background: url(../img/guide/ttl_about.svg) center/cover no-repeat;
  content: "";
  display: block;
  height: 0.5555555556em;
  left: calc(50% + 35px);
  position: absolute;
  top: 0.3333333333em;
  transform: translateY(-50%) rotate(16deg);
  width: 1.1111111111em;
}

@media not all and (min-width: 768px), print {
  .loop-sliders-wrap {
    display: flex;
    height: 96vw;
    justify-content: space-between;
    margin-top: 65px;
    overflow: hidden;
  }
}

.loop-sliders {
  height: 100%;
  width: 48.115942029%;
}
@media screen and (min-width: 768px), print {
  .loop-sliders {
    position: absolute;
    width: 25.0406504065%;
  }
}
.loop-sliders .loop-slider__item img {
  -webkit-transform: translate3d(0, 0, 0);
  -o-object-fit: cover;
  border-radius: 20px;
  object-fit: cover;
  transform: translate3d(0, 0, 0);
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .loop-sliders .loop-slider__item img {
    border-radius: 38px;
  }
}
@media screen and (min-width: 768px), print {
  .loop-sliders.--left {
    left: 30px;
    top: 0;
  }
}
.loop-sliders.--left .loop-slider__item {
  margin-top: 20px;
}
@media screen and (min-width: 768px), print {
  .loop-sliders.--left .loop-slider__item {
    margin-top: 40px;
  }
}
.loop-sliders.--left .loop-slider__item img {
  aspect-ratio: 308/315;
}
@media screen and (min-width: 768px), print {
  .loop-sliders.--right {
    right: 30px;
    top: 0;
  }
}
.loop-sliders.--right img {
  aspect-ratio: 166/358;
}
@media screen and (min-width: 768px), print {
  .loop-sliders.--right img {
    aspect-ratio: 308/507;
  }
}
@media not all and (min-width: 768px), print {
  .loop-sliders.--right img {
    -o-object-position: 37%;
    object-position: 37%;
  }
}
.loop-sliders.--right .loop-slider__item {
  margin-top: 20px;
}
@media screen and (min-width: 768px), print {
  .loop-sliders.--right .loop-slider__item {
    margin-top: 40px;
  }
}

.js-infinite-slide,
.js-infinite-slide2 {
  display: none;
  opacity: 0;
  transition: opacity 0.5s 0.5s;
}
.js-infinite-slide.is-show,
.js-infinite-slide2.is-show {
  opacity: 1;
}

.feature-point {
  padding-bottom: 80px;
  padding-top: 80px;
}
@media screen and (min-width: 768px), print {
  .feature-point {
    padding-bottom: 115px;
    padding-top: 150px;
  }
}

.feature-point__list {
  gap: 60px;
}
@media screen and (min-width: 768px), print {
  .feature-point__list {
    gap: min(7.1428571429vw, 100px) 60px;
    padding-bottom: 110px;
  }
}

.feature-point__item {
  align-items: center;
  background: url(../img/feature/bg_point.png) center/100% 100% no-repeat;
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  padding: 50px 20px 27px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .feature-point__item {
    flex-direction: row-reverse;
    padding: 33px 20px;
  }
}
@media screen and (min-width: 768px), print {
  .feature-point__item:nth-child(even) {
    margin-bottom: -110px;
    margin-top: 110px;
  }
}
.feature-point__item:nth-child(1) .feature-point__copy, .feature-point__item:nth-child(4) .feature-point__copy {
  color: #68ac53;
}
.feature-point__item:nth-child(1) .feature-point__nbr, .feature-point__item:nth-child(4) .feature-point__nbr {
  background: #68ac53;
}
.feature-point__item:nth-child(2) .feature-point__nbr, .feature-point__item:nth-child(5) .feature-point__nbr {
  background: #5a41a9;
}
.feature-point__item:nth-child(2) .feature-point__copy, .feature-point__item:nth-child(5) .feature-point__copy {
  color: #5a41a9;
}
.feature-point__item:nth-child(3) .feature-point__nbr, .feature-point__item:nth-child(6) .feature-point__nbr {
  background: #e493af;
}
.feature-point__item:nth-child(3) .feature-point__copy, .feature-point__item:nth-child(6) .feature-point__copy {
  color: #e493af;
}

.feature-point__nbr {
  -webkit-mask: url(../img/common/ttl_point.png) center/100% 100% no-repeat;
  align-items: center;
  color: #ffffff;
  display: flex;
  font-size: 1.75rem;
  height: 87px;
  justify-content: center;
  left: 50%;
  mask: url(../img/common/ttl_point.png) center/100% 100% no-repeat;
  position: absolute;
  top: -55px;
  width: 150px;
}
@media screen and (min-width: 768px), print {
  .feature-point__nbr {
    left: 17px;
    top: -44px;
  }
}
@media not all and (min-width: 768px), print {
  .feature-point__nbr {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
.feature-point__nbr span {
  display: inline-block;
  font-size: 2.125rem;
  margin-left: 5px;
}

.feature-point__img {
  width: 120px;
}
@media screen and (min-width: 768px), print {
  .feature-point__img {
    margin-right: 9.1796875%;
    margin-top: 40px;
    width: 162px;
  }
}

@media screen and (min-width: 768px), print {
  .feature-point__body {
    width: 55.2734375%;
  }
}
@media not all and (min-width: 768px), print {
  .feature-point__body {
    margin-top: 15px;
    text-align: center;
  }
}

.feature-point__copy {
  font-size: 1.125rem;
  margin-bottom: 7px;
}
@media screen and (min-width: 768px), print {
  .feature-point__copy {
    margin-bottom: 1em;
  }
}

.feature-staff-wrap {
  padding-bottom: 32.1428571429vw;
  position: relative;
}

.feature-staff {
  background: url(../img/feature/bg_staff_sp.png) center/100% 100% no-repeat;
  padding-bottom: 84.5333333333vw;
  padding-top: 16vw;
}
@media screen and (min-width: 768px), print {
  .feature-staff {
    background: url(../img/feature/bg_staff.png) center/100% 100% no-repeat;
    padding-bottom: 24.2857142857vw;
    padding-top: 9.1428571429vw;
  }
}
.feature-staff .container {
  max-width: 1240px;
}
.feature-staff .heading__main::before {
  content: none;
}
.feature-staff .illustTree {
  position: absolute;
}
@media not all and (min-width: 768px), print {
  .feature-staff .staff {
    margin-inline: auto;
    margin-top: 50px;
    max-width: 350px;
  }
}
.feature-staff .staff__item {
  align-items: center;
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
}
@media screen and (min-width: 768px), print {
  .feature-staff .staff__item {
    align-items: flex-start;
    flex-direction: row;
  }
}
.feature-staff .staff__item + .staff__item {
  margin-top: 90px;
}
@media screen and (min-width: 768px), print {
  .feature-staff .staff__item + .staff__item {
    margin-top: 32px;
  }
}
.feature-staff .staff__img {
  width: 315px;
}
@media screen and (min-width: 768px), print {
  .feature-staff .staff__img {
    width: 32.2033898305%;
  }
}
@media not all and (min-width: 768px), print {
  .feature-staff .staff__img {
    margin-top: 10px;
  }
}
.feature-staff .staff__img figcaption {
  margin-top: 23px;
  text-align: center;
}
.feature-staff .staff__img figcaption span {
  display: block;
  font-size: 1.375rem;
  text-transform: uppercase;
}
.feature-staff .staff__body {
  background: url(../img/feature/bg_comment_sp.png) 100% 100%/cover no-repeat;
  padding: 32px 32px 32px 32px;
}
@media screen and (min-width: 768px), print {
  .feature-staff .staff__body {
    background: url(../img/feature/bg_comment.png) 100% 100%/cover no-repeat;
    flex: 0 0 770px;
    margin-top: 16px;
    padding: 40px 40px 40px 60px;
  }
}
.feature-staff .staff__item:nth-child(2) .staff__body {
  background: url(../img/feature/bg_comment02_sp.png) 100% 100%/cover no-repeat;
  margin-top: 33px;
}
@media screen and (min-width: 768px), print {
  .feature-staff .staff__item:nth-child(2) .staff__body {
    background: url(../img/feature/bg_comment02.png) 100% 100%/cover no-repeat;
  }
}
@media not all and (min-width: 768px), print {
  .feature-staff .staff__item:nth-child(2) .staff__body {
    padding: 32px 32px 55px 32px;
  }
}

.facility .aboutMap .heading__main::before {
  content: none;
}
@media not all and (min-width: 768px), print {
  .facility .aboutMap {
    margin-top: 90px;
  }
}
.facility .aboutMap .container {
  position: relative;
}
.facility .aboutMap .aboutMap__img {
  margin-top: 30px;
}
.facility .illustTree {
  position: static;
}
.facility .spot-block {
  position: relative;
}
.facility .spot-block::before {
  background: url(../img/facility/bg_left_sp.png) center/100% 100% no-repeat;
  content: "";
  display: block;
  height: clamp(974px, 83vw, 1162px);
  left: 0;
  position: absolute;
  top: 370.6666666667vw;
  width: clamp(233px, 33.7857142857vw, 473px);
}
@media screen and (min-width: 768px), print {
  .facility .spot-block::before {
    background: url(../img/facility/bg_left.png) center/100% 100% no-repeat;
    top: 32.1428571429vw;
  }
}
.facility .spot-block::after {
  background: url(../img/facility/bg_right_sp.png) center/100% 100% no-repeat;
  content: "";
  display: block;
  height: clamp(900px, 83vw, 1162px);
  position: absolute;
  right: 0;
  top: 644vw;
  width: clamp(258px, 40vw, 560px);
  z-index: -2;
}
@media screen and (min-width: 768px), print {
  .facility .spot-block::after {
    background: url(../img/facility/bg_right.png) center/100% 100% no-repeat;
    top: 108.5714285714vw;
  }
}
.facility .spot-area {
  position: relative;
}
.facility .spot-area::after {
  background: url(../img/facility/bg_line_sp.png) center/100% 100% no-repeat;
  content: "";
  display: block;
  height: 1744vw;
  left: 6.1333333333vw;
  position: absolute;
  top: 32.8vw;
  width: 67.2vw;
  z-index: -1;
}
@media screen and (min-width: 768px), print {
  .facility .spot-area::after {
    background: url(../img/facility/bg_line.png) center/100% 100% no-repeat;
    height: 90.6689706245%;
    left: 16.3247863248%;
    top: 5.6529252037%;
    width: 61.1111111111%;
  }
}
.facility .spot {
  margin-inline: auto;
  margin-top: 150px;
  max-width: 980px;
  position: relative;
}
@media screen and (min-width: 768px), print {
  .facility .spot {
    margin-top: 165px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (min-width: 768px), print {
  .facility .spot:nth-child(odd) .spot__wrap {
    flex-direction: row-reverse;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 768px), print {
  .facility .spot:nth-child(odd) .spot__body {
    margin-left: 7.1428571429%;
  }
}
.facility .spot:nth-child(odd) .spot__nbr {
  background: url(../img/facility/bg_spotttl.png) center/cover no-repeat;
  left: 12px;
  padding-left: 12px;
  top: -91px;
  width: 84px;
}
@media screen and (min-width: 768px), print {
  .facility .spot:nth-child(odd) .spot__nbr {
    left: auto;
    right: -21px;
    width: 118px;
  }
}
@media screen and (min-width: 768px), print {
  .facility .spot:nth-child(even) .spot__body {
    margin-right: 8.6734693878%;
  }
}
.facility .spot:nth-child(even) .spot__nbr {
  background: url(../img/facility/bg_spotttl2.png) center/cover no-repeat;
  left: 12px;
  padding-right: 12px;
  top: -90px;
  width: 90px;
}
@media screen and (min-width: 768px), print {
  .facility .spot:nth-child(even) .spot__nbr {
    left: -53px;
    top: -115px;
    width: 128px;
  }
}
.facility .spot .spot__time {
  background-color: #b3ca37;
  border-radius: 1vmax;
  color: #ffffff;
  display: block;
  margin-top: 14px;
  margin-top: 10px;
  padding: 7px 30px;
}
.facility .spot .spot__wrap {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px), print {
  .facility .spot .spot__wrap {
    flex-direction: row;
  }
}
.facility .spot .spot__nbr {
  align-items: center;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  font-size: clamp(0.75rem, 1.2142857143vw, 1.0625rem);
  height: 77px;
  justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1;
  position: absolute;
}
@media screen and (min-width: 768px), print {
  .facility .spot .spot__nbr {
    height: 110px;
  }
}
.facility .spot .spot__nbr span {
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #fff;
  display: block;
  font-size: clamp(1.75rem, 2.8571428571vw, 2.5rem);
  margin-top: 0.125em;
}
.facility .spot .spot__title {
  padding-left: 78px;
  position: relative;
}
.facility .spot .spot__title::before {
  content: "";
  display: inline-block;
  left: 0;
  position: absolute;
  top: 0;
}
.facility .spot .spot__title span {
  display: block;
}
.facility .spot .spot__titleMain {
  color: #68ac53;
  font-size: clamp(1.375rem, 2vw, 1.75rem);
  line-height: 1.1785714286;
}
.facility .spot .spot__titleSub {
  font-size: clamp(0.875rem, 1.2857142857vw, 1.125rem);
}
.facility .spot .spot__img__box {
  position: relative;
}
@media screen and (min-width: 768px), print {
  .facility .spot .spot__img__box {
    width: 43.8775510204%;
  }
}
.facility .spot .spot__imgMain img {
  border-radius: 25px;
}
@media screen and (min-width: 768px), print {
  .facility .spot .spot__imgMain img {
    border-radius: 38px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot .spot__imgMain img {
    -o-object-fit: cover;
    aspect-ratio: 265/180;
    object-fit: cover;
    width: 100%;
  }
}
.facility .spot .spot__body {
  position: relative;
}
@media screen and (min-width: 768px), print {
  .facility .spot .spot__body {
    width: 43.4693877551%;
  }
}
.facility .spot .spot__imgSub {
  width: 36vw;
}
@media screen and (min-width: 768px), print {
  .facility .spot .spot__imgSub {
    width: 210px;
  }
}
.facility .spot.spot--01 .spot__imgSub {
  left: -56px;
}
@media screen and (min-width: 768px), print {
  .facility .spot.spot--01 .spot__imgSub {
    left: auto;
    right: -45px;
  }
}
.facility .spot.spot--01 .spot__title::before {
  background: url(../img/common/main_illust01.png) center/cover no-repeat;
  height: clamp(58px, 4.6428571429vw, 65px);
  width: clamp(56px, 4.6428571429vw, 65px);
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--01 .spot__img__box {
    margin-left: auto;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--01 .spot__body {
    margin-top: 160px;
  }
}
.facility .spot.spot--02 .spot__imgSub {
  right: -66px;
  top: -100px;
}
@media screen and (min-width: 768px), print {
  .facility .spot.spot--02 .spot__imgSub {
    right: -130px;
  }
}
.facility .spot.spot--02 .spot__title {
  padding-left: 90px;
}
.facility .spot.spot--02 .spot__title::before {
  background: url(../img/facility/icon_illust01.png) center/cover no-repeat;
  height: 60px;
  width: 74px;
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--02 .spot__body {
    margin-top: 185px;
  }
}
.facility .spot.spot--03 .spot__wrap {
  align-items: center;
}
.facility .spot.spot--03 .spot__title::before {
  background: url(../img/illust_about06.png) center/cover no-repeat;
  height: 55px;
  width: 68px;
}
.facility .spot.spot--03 .spot__imgSub {
  left: -63px;
  top: -67px;
}
@media screen and (min-width: 768px), print {
  .facility .spot.spot--03 .spot__imgSub {
    left: -116px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--03 .spot__img__box {
    margin-left: auto;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--03 .spot__body {
    margin-top: 117px;
  }
}
.facility .spot.spot--04 .spot__title::before {
  background: url(../img/facility/icon_illust02.png) center/cover no-repeat;
  height: 62px;
  width: 62px;
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--04 .spot__body {
    margin-top: 169px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--04 .spot__imgSub {
    margin-left: auto;
    margin-top: 34px;
  }
}
.facility .spot .spot__wrap._bottom {
  justify-content: space-between;
  margin-top: 15px;
  max-width: 850px;
}
@media screen and (min-width: 768px), print {
  .facility .spot .spot__wrap._bottom .spot__img__box {
    width: 50.5882352941%;
  }
}
.facility .spot.spot--05 .spot__imgSub {
  left: -80px;
}
@media screen and (min-width: 768px), print {
  .facility .spot.spot--05 .spot__imgSub {
    left: -116px;
  }
}
.facility .spot.spot--05 .spot__title::before {
  background: url(../img/facility/icon_illust03.png) center/cover no-repeat;
  height: 56px;
  width: 57px;
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--05 .spot__img__box {
    margin-left: auto;
    margin-right: -15px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--05 .spot__body {
    margin-top: 127px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--06::before {
    background: url(../img/facility/bg_left_sp.png) center/100% 100% no-repeat;
    content: "";
    display: block;
    height: clamp(974px, 83vw, 1162px);
    left: -30px;
    position: absolute;
    top: -145px;
    width: clamp(233px, 33.7857142857vw, 473px);
  }
}
.facility .spot.spot--06 .spot__wrap._bottom {
  align-items: flex-end;
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--06 .spot__wrap._bottom .spot__imgSub {
    margin-top: 35px;
  }
}
.facility .spot.spot--06 .spot__title::before {
  background: url(../img/facility/icon_illust04.png) center/cover no-repeat;
  height: 64px;
  width: 42px;
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--06 .spot__body {
    margin-top: 142px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--07::after {
    background: url(../img/facility/bg_right_sp.png) center/100% 100% no-repeat;
    content: "";
    display: block;
    height: clamp(900px, 83vw, 1162px);
    position: absolute;
    right: -30px;
    top: 0;
    width: clamp(258px, 40vw, 560px);
    z-index: -2;
  }
}
.facility .spot.spot--07 .spot__wrap {
  align-items: flex-end;
}
.facility .spot.spot--07 .spot__wrap._bottom {
  align-items: baseline;
  max-width: 970px;
}
@media screen and (min-width: 768px), print {
  .facility .spot.spot--07 .spot__wrap._bottom .spot__img__box {
    width: 44.3298969072%;
  }
}
.facility .spot.spot--07 .spot__title::before {
  background: url(../img/facility/icon_illust05.png) center/cover no-repeat;
  height: 61px;
  width: 66px;
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--07 .spot__body {
    margin-top: 142px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--07 .spot__imgSub {
    margin-left: auto;
    margin-top: 29px;
  }
}

.facility .spot.spot--08 .spot__wrap._bottom {
  align-items: flex-end;
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--08 .spot__wrap._bottom .spot__imgSub {
    margin-top: 35px;
  }
}
.facility .spot.spot--08 .spot__title::before {
  background: url(../img/spot_bbq04.png) center/cover no-repeat;
  height: 28px;
  width: 63px;
	top: 39%;
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--08 .spot__body {
    margin-top: 142px;
  }
}

.facility .spot.spot--01 .spot__imgSub, .facility .spot.spot--02 .spot__imgSub, .facility .spot.spot--03 .spot__imgSub, .facility .spot.spot--05 .spot__imgSub {
  position: absolute;
  top: -82px;
}
@media screen and (min-width: 768px), print {
  .facility .spot.spot--01 .spot__imgSub, .facility .spot.spot--02 .spot__imgSub, .facility .spot.spot--03 .spot__imgSub, .facility .spot.spot--05 .spot__imgSub {
    top: -122px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--01 .spot__img__box, .facility .spot.spot--02 .spot__img__box, .facility .spot.spot--03 .spot__img__box, .facility .spot.spot--05 .spot__img__box {
    width: 83.8095238095%;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--04 .spot__img__box, .facility .spot.spot--06 .spot__img__box, .facility .spot.spot--07 .spot__img__box {
    width: 76.2666666667vw;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--04 .spot__wrap, .facility .spot.spot--06 .spot__wrap, .facility .spot.spot--07 .spot__wrap {
    display: contents;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--04 .spot__wrap._bottom .spot__img__box, .facility .spot.spot--06 .spot__wrap._bottom .spot__img__box, .facility .spot.spot--07 .spot__wrap._bottom .spot__img__box {
    margin-left: -15px;
    margin-right: auto;
    margin-top: 10px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--04 .spot__img__box, .facility .spot.spot--06 .spot__img__box, .facility .spot.spot--07 .spot__img__box {
    margin-left: auto;
    margin-right: -15px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .spot.spot--04 .spot__imgSub,
  .facility .spot.spot--04 .spot__body, .facility .spot.spot--06 .spot__imgSub,
  .facility .spot.spot--06 .spot__body, .facility .spot.spot--07 .spot__imgSub,
  .facility .spot.spot--07 .spot__body {
    order: 1;
  }
}
.facility .spot .btn {
  font-size: 0.9375rem;
  margin: 18px auto 0;
  max-width: 352px;
  padding: 25px 20px 25px 20px;
}
@media screen and (min-width: 768px), print {
  .facility .spot .btn {
    padding: 25px 20px 25px 36px;
  }
}
.facility .spot .btn .arrow {
  height: 30px;
  width: 30px;
}
@media not all and (min-width: 768px), print {
  .facility .spot .btn .arrow {
    right: 15px;
  }
}
.facility .spot__text {
  margin-top: 25px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__text {
    margin-top: 38px;
  }
}
.facility .spot__illust01 {
  bottom: -47px;
  left: -13px;
  width: 152px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust01 {
    bottom: 0;
    left: calc(50% + 30px);
    width: 22.3711340206%;
  }
}
.facility .spot__illust02 {
  bottom: -57px;
  right: 9.8666666667vw;
  width: 157px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust02 {
    bottom: -61px;
    right: calc(50% + 142px);
    width: 20.618556701%;
  }
}
.facility .spot__illust03 {
  bottom: 50px;
  right: 8.5333333333vw;
  width: 70px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust03 {
    bottom: 103px;
    right: calc(50% + 148px);
    width: 8.2474226804%;
  }
}

.facility .spot08__illust02 {
  bottom: -118px;
  right: 47.866667vw;
  width: 327px;
}
@media screen and (min-width: 768px), print {
  .facility .spot08__illust02 {
    bottom: -83px;
    right: calc(50% + 157px);
    width: 32.618557%;
  }
}
.facility .spot08__illust03 {
  bottom: 109px;
  right: 33.533333vw;
  width: 61px;
}
@media screen and (min-width: 768px), print {
  .facility .spot08__illust03 {
bottom: 220px;
        right: calc(50% + 60px);
        width: 8.2474226804%;
  }
}


.facility .spot__illust04 {
  bottom: -30px;
  left: 0;
  width: 22px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust04 {
    bottom: -67px;
    left: auto;
    right: calc(50% + 479px);
  }
}
.facility .spot__illust05 {
  right: 0;
  top: 47.2vw;
  width: 68px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust05 {
    bottom: -78px;
    right: calc(50% + 48px);
    top: auto;
    width: 107px;
  }
}
.facility .spot__illust06 {
  right: 24vw;
  top: 56.5333333333vw;
  width: 22px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust06 {
    bottom: -74px;
    right: calc(50% + 211px);
    top: auto;
  }
}
.facility .spot__illust07 {
  right: 13.3333333333vw;
  top: 65.3333333333vw;
  width: 22px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust07 {
    bottom: -121px;
    right: calc(50% + 145px);
    top: auto;
  }
}
.facility .spot__illust08 {
  left: 0;
  top: -20vw;
  width: 320px;
  z-index: -1;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust08 {
    left: calc(50% - 125px);
    top: -51px;
    width: 39.587628866%;
  }
}
.facility .spot__illust09 {
  bottom: -8.5333333333vw;
  right: 0;
  width: 185px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust09 {
    bottom: -103px;
    left: calc(50% + 344px);
    right: auto;
    width: 22.8865979381%;
  }
}
.facility .spot__illust10 {
  bottom: 16vw;
  left: 8vw;
  width: 22px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust10 {
    bottom: -29px;
    left: auto;
    right: calc(50% + 376px);
  }
}
.facility .spot__illust11 {
  bottom: 0;
  left: 27.4666666667vw;
  width: 22px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust11 {
    bottom: 18px;
    left: auto;
    right: calc(50% + 471px);
  }
}
.facility .spot__illust12 {
  right: 0;
  top: 104vw;
  width: 177px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust12 {
    bottom: -76px;
    right: calc(50% + 9px);
    top: auto;
    width: 28.8659793814%;
  }
}
.facility .spot__illust13 {
  right: -5.3333333333vw;
  top: 39.4666666667vw;
  width: 70px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust13 {
    bottom: -104px;
    right: calc(50% - 68px);
    top: auto;
    width: 14.9484536082%;
  }
}
.facility .spot__illust14 {
  bottom: -125px;
  right: 6.6666666667vw;
  width: 152px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust14 {
    bottom: -150px;
    left: calc(50% + 263px);
    right: auto;
    width: 20.618556701%;
  }
}
.facility .spot__illust15 {
  -webkit-transform: rotate(-22deg);
  bottom: -140px;
  right: 58.1333333333vw;
  transform: rotate(-22deg);
  width: 20px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust15 {
    bottom: -132px;
    left: calc(50% + 153px);
    right: auto;
  }
}
.facility .spot__illust16 {
  left: -20px;
  top: 42.6666666667vw;
  width: 95px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust16 {
    bottom: -61px;
    left: 50%;
    top: auto;
    width: 17.5257731959%;
  }
}
.facility .spot__illust17 {
  left: 32.5333333333vw;
  top: 55.4666666667vw;
  width: 48px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust17 {
    bottom: -89px;
    left: calc(50% + 247px);
    top: auto;
    width: 8.7628865979%;
  }
}
.facility .spot__illust18 {
  right: 0;
  top: 41.3333333333vw;
  width: 93px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust18 {
    bottom: -89px;
    right: calc(50% + 19px);
    top: auto;
    width: 15.4639175258%;
  }
}
.facility .spot__illust19 {
  right: 48vw;
  top: 38.1333333333vw;
  width: 53px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust19 {
    bottom: 0px;
    right: calc(50% + 329px);
    top: auto;
    width: 8.7628865979%;
  }
}
.facility .spot__illust20 {
  right: 58.1333333333vw;
  top: 38.1333333333vw;
  width: 53px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust20 {
    bottom: 0px;
    right: calc(50% + 385px);
    top: auto;
    width: 8.7628865979%;
  }
}
.facility .spot__illust21 {
  right: 68.5333333333vw;
  top: 38.1333333333vw;
  width: 45px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust21 {
    bottom: 0;
    right: calc(50% + 448px);
    top: auto;
    width: 70px;
  }
}
.facility .spot__illust22 {
  right: 40.5333333333vw;
  top: 41.0666666667vw;
  width: 45px;
}
@media screen and (min-width: 768px), print {
  .facility .spot__illust22 {
    bottom: -8px;
    right: calc(50% + 283px);
    top: auto;
    width: 70px;
  }
}
.facility .spot__illust23 {
  right: calc(50% + 555px);
  top: 20px;
  width: 35px;
}
.facility .facility-line {
  margin-top: 130px;
}
.facility .facility-line img {
  width: 100%;
}
@media screen and (min-width: 768px), print {
  .facility .facility-line {
    margin-top: 77px;
  }
}
.facility .facility-imglist {
  display: flex;
}
@media not all and (min-width: 768px), print {
  .facility .facility-imglist {
    flex-wrap: wrap;
    justify-content: center;
    margin-top: -20px;
  }
}
.facility .facility-imglist .facility-img {
  position: relative;
}
@media not all and (min-width: 768px), print {
  .facility .facility-imglist .facility-img {
    margin-top: 20px;
    width: calc((100% - 20px) / 2);
  }
}
.facility .facility-imglist .facility-img:nth-child(1) {
  left: -18px;
}
@media screen and (min-width: 768px), print {
  .facility .facility-imglist .facility-img:nth-child(1) {
    left: -37px;
    top: -160px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .facility-imglist .facility-img:nth-child(2) {
    top: 47px;
    width: 41.8666666667vw;
  }
}
@media screen and (min-width: 768px), print {
  .facility .facility-imglist .facility-img:nth-child(2) {
    left: -27px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .facility-imglist .facility-img:nth-child(3) {
    left: -15px;
    width: 36vw;
  }
}
.facility .facility-imglist .facility-img:nth-child(4) {
  right: -21px;
  top: 29px;
}
@media not all and (min-width: 768px), print {
  .facility .facility-imglist .facility-img:nth-child(4) {
    width: 28.8vw;
  }
}
@media screen and (min-width: 768px), print {
  .facility .facility-imglist .facility-img:nth-child(4) {
    right: -20px;
    top: -78px;
  }
}
@media screen and (min-width: 768px), print {
  .facility .facility-imglist .facility-img:nth-child(5) {
    right: -47px;
    top: -78px;
  }
}
@media not all and (min-width: 768px), print {
  .facility .facility-imglist .facility-img:nth-child(5) {
    width: 61.8666666667vw;
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */

.welcome{
	margin-bottom: 300px;
	position: relative;
}
.welcome .feature-about__head::before{
	display: none;
}
.welcome .box_top{
	position: relative;
}
.admission{
	width: 92.85%;
  max-width: 782px;
  margin: 80px auto 53px;
  background: #ffffff;
  border-radius: 100px;
  padding: 50px 5vw 80px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 15px solid #F9F9F9;
}
.admission .heading{
	font-size: clamp(1.375rem, 2vw, 1.75rem);
}
.admission p{
	font-size: clamp(2.375rem, 3vw, 2.75rem);
	margin-bottom: 30px;
}
.admission p span{
	font-size: 0.9375rem;
	padding: 0 15px;
}
.space_top{
	  padding-left: 1em;
  text-indent: -1em;
}
.cautionary_note{
	
}
.welcome .box_last img{
	border-radius: 38px
}
.welcome .box_last{
	display: flex;
	gap: 20px; 
	 align-items: stretch;  
	margin: 80px 0 20px;
	position: relative;
}
.point_fee{
	width: 200px;
	position: absolute;
	left: -30px;
	top: -100px;
	
}
.link{
	text-decoration: underline;
  color: #472B98;
}
.tree-01{
	width: 60px;
	position: absolute;
	bottom: 28px;
	 left: calc(50% + 300px);
	}
.tree-02{
	width: 70px;
	position: absolute;
	bottom: -20px;
	 left: calc(50% + 350px);
	}

.tree-02 img {
  -webkit-transition: opacity .4s ease,-webkit-transform .55s ease;
  transition: opacity .4s ease,-webkit-transform .55s ease;
  transition: transform .55s ease,opacity .4s ease;
  transition: transform .55s ease,opacity .4s ease,-webkit-transform .55s ease;
    transition-delay: 0s, 0s, 0s;
  -webkit-transition-delay: .25s;
  transition-delay: .25s;
  -webkit-transform-origin: 50% 80%;
  transform-origin: 50% 80%;
  -webkit-transition-delay: .2s;
  transition-delay: .2s;
}


.tree-01{
  opacity: 1;
  transform-origin: 50% 85%;
  animation: kf-hero 1s steps(1) infinite both;
}

@keyframes kf-hero{
  0%   { transform: scale(1) translateY(0rem) rotate(2deg); }
  50%  { transform: scale(1) translateY(0rem) rotate(-2deg); }
  100% { transform: scale(1) translateY(0rem) rotate(2deg); }
}
.tree-02{
  opacity: 1;
  transform-origin: 50% 85%;
  animation: kf-heroC 1.7s steps(1) infinite both;
}

@keyframes kf-heroC{
  0%   { transform: scale(1) translateY(0rem) rotate(2deg); }
  33%  { transform: scale(1) translateY(0rem) rotate(-1deg); }
  66%  { transform: scale(1) translateY(0rem) rotate(3deg); }
  100% { transform: scale(1) translateY(0rem) rotate(2deg); }
}
	
@media screen and (max-width: 900px) {
.point_fee{
	width: 150px;
	  left: 0;
  right: 0;
  margin:0 auto;
  top: -100px;
}
.tree-01{
	 left:auto;
	right: 12%;
	bottom: -80px;
	}
.tree-02{
	 left:auto;
	right: 2%;
	bottom: -118px;
	}
}
@media screen and (max-width: 768px) {
.welcome {
  margin-bottom: 200px;}
.welcome .box_top p{
	text-align: left;
	}
.admission{
	width: 100%;
    padding: 50px 4.6vw 50px;
    border-radius: 40px;
    margin: 50px auto 10px;
    border-top: 10px solid #F9F9F9;
    border-bottom: 10px solid #F9F9F9;
    border-left: none;
    border-right: none;
}	
.cautionary_note{
	text-align: left;
}	
.admission p span{
	padding: 0 8px;
}
.welcome .box_last img{
  border-radius: 25px;
}
}



 .welcome .about__illust01,  .welcome .about__illust02, .welcome .about__illust03, .welcome .about__illust04, .welcome .about__illust05  {
  top: auto;
}
 .welcome .about__illust01,  .welcome .about__illust02 {
	 bottom: -45.3571428571vw;
  }
@media screen and (min-width: 768px), print {
 .welcome .about__illust01,  .welcome .about__illust02 {
    top: auto;
	 bottom: -23.3571428571vw;
  }
 .welcome .about__illust03 {
    top: auto;
	 bottom: -12.3571428571vw;
  }
 .welcome .about__illust04 {
    top: auto;
	 bottom: -12.3571428571vw;
  }
 .welcome .about__illust05 {
    top: auto;
	  bottom: -15.3571428571vw;
  }	

}
