body {
	background: #FAF7F2;
  color: #363636;
  line-height: 1.6;
}

.txt-vertical .elementor-heading-title {
  cursor: vertical-text;
  writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -moz-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: upright;
  word-wrap: break-word;
}

.container {
  --widgets-spacing: 0px 30px !important;
  -webkit-padding-end: 30px !important;
          padding-inline-end: 30px !important;
  -webkit-padding-start: 30px !important;
          padding-inline-start: 30px !important;
}

.container::after {
  display: none;
}

#mainimage {
  position: relative;
}
/* #mainimage::after {
  content: "";
  width: 714px;
  height: 278px;
  background: url("../img/deco1.png") 0 0/contain no-repeat;
  position: absolute;
  bottom: -10px;
  right: 0;
  left: auto;
  z-index: 1;
} */
#mainimage .slider {
  width: 100%;
  height: 100%;
}
#mainimage .slider .swiper, #mainimage .slider .swiper-slide-inner {
  height: 100%;
}
#mainimage .slider img,
#mainimage .slider .swiper img {
  width: 100% !important;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#mainimage .catch {
  width: 160px;
  height: 160px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #6A955E;
  border-radius: 100%;
  position: relative;
  z-index: 0;
}
#mainimage .catch::before {
  content: "";
  background: linear-gradient(135deg, transparent, #E2F7AC);
  border: 2px dashed #fff;
  border-radius: 100%;
  position: absolute;
  inset: 5px;
  z-index: -1;
  opacity: 0.66;
}
#mainimage .catch .elementor-heading-title {
  color: #fff;
  font-weight: 500;
  font-size: 24px;
  line-height: 34px;
  letter-spacing: 0;
  text-align: center;
}
#mainimage .catch .elementor-widget-container {
  height: auto;
}
@media screen and (max-width: 767px) {
  /* #mainimage::after {
    width: 390px;
    height: 152px;
    bottom: -5px;
    right: 0;
  } */
  #mainimage .ttl {
    position: absolute;
    top: 0;
    right: 30px;
  }
  #mainimage .ttl .elementor-heading-title {
    width: 116px;
    height: 256px;
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
  }
  #mainimage .catch {
    width: 100px;
    height: 100px;
  }
  #mainimage .catch:nth-child(2) {
    margin: -45px 0 0 85px;
  }
  #mainimage .catch:nth-child(3) {
    margin: -65px 0 0 -15px;
  }
  #mainimage .catch::before {
    inset: 3px;
    border-width: 1px;
  }
  #mainimage .catch .elementor-heading-title {
    font-size: 14px;
    line-height: 1.28;
  }
  #mainimage .txt .elementor-heading-title > span > span {
    display: inline-block;
    padding: 0 10px;
    background: #fff;
    color: #9B8A7A;
  }
  #mainimage .txt span ~ span {
    display: inline-block;
    margin-top: 3px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #mainimage::after {
    width: 640px;
    height: 250px;
  }
}
@media screen and (min-width: 768px) {
  #mainimage .txt .elementor-heading-title > span {
    display: inline-block;
    padding: 0 10px;
    background: #fff;
    color: #9B8A7A;
    line-height: 26px;
  }
}

#information .btn a {
  min-width: 233px;
  padding: 12px 48px 12px 24px;
  font-size: 14px;
}
#information .btn a::after {
  width: 21px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 17 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.3536 4.03556C16.5488 3.8403 16.5488 3.52372 16.3536 3.32845L13.1716 0.146473C12.9763 -0.0487893 12.6597 -0.0487893 12.4645 0.146473C12.2692 0.341735 12.2692 0.658318 12.4645 0.85358L15.2929 3.68201L12.4645 6.51043C12.2692 6.7057 12.2692 7.02228 12.4645 7.21754C12.6597 7.4128 12.9763 7.4128 13.1716 7.21754L16.3536 4.03556ZM0 3.68201V4.18201H16V3.68201V3.18201H0V3.68201Z' fill='white'/%3E%3C/svg%3E");
  right: 16px;
}
#information .shopinfo dl {
  padding: 16px 0;
  border-bottom: 1px solid #A9BCC5;
  letter-spacing: 0.02em;
}
#information .shopinfo dl:first-child {
  padding-top: 0;
}
#information .shopinfo dl:nth-child(3) {
  padding-bottom: 8px;
  border-bottom: 1px dashed #A9BCC5;
}
#information .shopinfo dl:nth-child(4) {
  padding-top: 8px;
}
#information .shopinfo dl dt {
  color: #6A955E;
}
#information .shopinfo dl dd {
  margin-top: 4px;
}
#information .set .gr1 .txt small {
  font-size: 15px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  #information .shopinfo dl {
    padding: 10px 0;
  }
  #information .shopinfo dl dt {
    font-size: 14px;
    letter-spacing: 0.02em;
  }
}

@media screen and (max-width: 767px) {
  #payment .set .gr2 .ttlbox {
    grid-area: 1/1/2/3;
  }
}

#blog .ttl-style-1 h3.elementor-heading-title {
  font-size: 14px;
}
#blog .ttl-style-1 h3.elementor-heading-title .en {
  font-size: 32px !important;
}
#blog .btn-link .elementor-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  padding: 0;
  background: none;
  color: #6A955E;
  font-size: 14px;
  line-height: 1.28;
  letter-spacing: 0.04em;
}
#blog .btn-link .elementor-button:hover {
  opacity: 0.7;
}
#blog .btn-link .elementor-button::after {
  content: "";
  width: 12px;
  height: 10px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 11 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.3536 4.03544C10.5488 3.84018 10.5488 3.52359 10.3536 3.32833L7.17157 0.146351C6.97631 -0.0489113 6.65973 -0.0489113 6.46447 0.146351C6.2692 0.341613 6.2692 0.658195 6.46447 0.853458L9.29289 3.68188L6.46447 6.51031C6.2692 6.70557 6.2692 7.02216 6.46447 7.21742C6.65973 7.41268 6.97631 7.41268 7.17157 7.21742L10.3536 4.03544ZM0 3.68188V4.18188H10V3.68188V3.18188H0V3.68188Z' fill='%236A955E'/%3E%3C/svg%3E") 0 0/contain no-repeat;
}
#policy .container::after {
  content: "";
  width: 518px;
  height: 178px;
  display: block;
  background: url("../img/deco2.png") 0 0/contain no-repeat;
  position: absolute;
  bottom: -140px;
  left: -125px;
}
#policy .set {
  position: relative;
  z-index: 1;
}
#policy .set .catch .elementor-heading-title {
  background: #DEEBE5;
  background-clip: text;
  -webkit-text-stroke-color: transparent;
  -webkit-text-stroke-width: 6px;
  -webkit-background-clip: text;
}
#policy .set .catch .elementor-heading-title .txt-indent {
  display: inline-block;
  margin-top: 103px;
}
/* #policy .set .catch1 .elementor-heading-title {
  background: #6A955E;
  background-clip: text;
  -webkit-text-stroke-color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-background-clip: text;
} */
@media screen and (max-width: 1024px) {
  #policy .container::after {
    left: 100px;
    bottom: -190px;
  }
}
@media screen and (max-width: 767px) {
  #policy .container::after {
    width: 390px;
    height: 134px;
    bottom: -135px;
    left: 0;
  }
  #policy .set .catch {
    top: 103px;
    left: 0;
    right: auto;
  }
  #policy .set .catch .elementor-heading-title {
    background: #FAF7F2;
    background-clip: text;
    -webkit-text-stroke-color: transparent;
    -webkit-text-stroke-width: 4px;
    -webkit-background-clip: text;
  }
  #policy .set .catch .elementor-heading-title {
    white-space: nowrap;
  }
  #policy .set .catch .elementor-heading-title .txt-indent {
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  #policy .gr2 .catch .elementor-heading-title {
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
  }
}

#menu .box-style {
  row-gap: 20px;
  padding: 24px 24px 32px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  border-radius: 20px;
}
#menu .box-style:hover {
  opacity: 1;
  background: #6A955E;
  color: #fff;
}
#menu .box-style:hover .ttl::after {
  -webkit-filter: brightness(0%) invert(1);
          filter: brightness(0%) invert(1);
}
#menu .box-style:hover .ttl .elementor-heading-title {
  color: #fff;
}
#menu .box-style .ttl {
  position: relative;
}
#menu .box-style .ttl::after {
  content: "";
  width: 16px;
  height: 26px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 17 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.7071 8.07088C17.0976 7.68035 17.0976 7.04719 16.7071 6.65666L10.3431 0.292702C9.95262 -0.0978227 9.31946 -0.0978227 8.92893 0.292702C8.53841 0.683226 8.53841 1.31639 8.92893 1.70692L14.5858 7.36377L8.92893 13.0206C8.53841 13.4111 8.53841 14.0443 8.92893 14.4348C9.31946 14.8254 9.95262 14.8254 10.3431 14.4348L16.7071 8.07088ZM0 7.36377V8.36377H16V7.36377V6.36377H0V7.36377Z' fill='%236A955E'/%3E%3C/svg%3E") center/contain no-repeat;
  position: absolute;
  top: 0;
  right: 0;
}
#menu .box-style .ttl .elementor-heading-title {
  color: #6A955E;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.28;
  letter-spacing: 0.02em;
}
#menu .box-style .imgbox {
  position: relative;
}
#menu .box-style .imgbox .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#menu .box-style .imgbox .img img {
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  #menu .box-style {
    row-gap: 16px;
    padding: 20px;
  }
  #menu .box-style .ttl::after {
    width: 16px;
    height: 26px;
  }
}

#first .flow-list .flow__ttl .elementor-heading-title {
  font-weight: 400;
  line-height: 1.28;
}
#first .flow-list .flow__ttl .elementor-heading-title .number {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
#first .flow-list .flow__ttl .elementor-heading-title small {
  font-size: 12px;
  letter-spacing: 0.04em;
}
#features {
  position: relative;
  z-index: 0;
}
#features::after {
  content: "";
  width: 950px;
  height: 360px;
  background: url("../img/deco3.png") 0 0/contain no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #features::after {
    width: 125%;
    height: 100%;
  }
  #features .set .feature-box {
    position: relative;
  }
  #features .set .feature-box::after {
    content: "";
    width: 164px;
    height: 164px;
    background: #A1D756;
    opacity: 0.4;
    -webkit-filter: blur(40px);
            filter: blur(40px);
    border-radius: 100%;
    position: absolute;
    top: auto;
    bottom: -82px;
    left: -82px;
    z-index: -1;
  }
  #features .set .feature-box:nth-child(even)::after {
    left: auto;
    right: -82px;
  }
  #features .set .box2 .feature__ttl .elementor-heading-title small {
    letter-spacing: 0;
  }
}
@media screen and (min-width: 768px) {
  #features .set .feature-box {
    position: relative;
  }
  #features .set .feature-box:nth-child(even) {
    position: relative;
  }
  #features .set .feature-box:nth-child(even)::after {
    content: "TOKOROZAWA MIHARUNOMORI ANIMAL HOSPITAL";
    color: #6A955E;
    font-family: "Zen Loop", serif;
    font-weight: 700;
    font-style: italic;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.16em;
    position: absolute;
    top: 50%;
    -webkit-transform: rotate(90deg) translateX(45%);
            transform: rotate(90deg) translateX(45%);
    -webkit-transform-origin: bottom right;
            transform-origin: bottom right;
  }
  #features .set .feature-box:nth-child(n+2)::after {
    right: -60px;
    left: auto;
  }
  #features .set .feature-box:nth-child(n+4)::after {
    left: -60px;
    right: auto;
    -webkit-transform: rotate(90deg) translateX(-55%);
            transform: rotate(90deg) translateX(-55%);
    -webkit-transform-origin: bottom left;
            transform-origin: bottom left;
  }
  #features .set .feature-box:nth-child(odd)::after {
    content: "";
    width: 164px;
    height: 164px;
    background: #A1D756;
    opacity: 0.4;
    -webkit-filter: blur(50px);
            filter: blur(50px);
    border-radius: 100%;
    position: absolute;
    top: auto;
    bottom: -26px;
    left: -77px;
    z-index: -1;
  }
  #features .set .feature-box:nth-child(3n)::after {
    bottom: -82px;
    left: auto;
    right: -82px;
  }
  #features .set .feature-box:last-child::after {
    display: none;
  }
}

#greeting .sign .elementor-heading-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#greeting .sign .elementor-heading-title small {
  font-size: 12px;
  letter-spacing: 0.04em;
}
#greeting .set1 .gr2 .btn {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  #greeting .set2 .btn a {
    width: 100%;
  }
  .slider-scroll::after {
    margin-bottom: -38px;
  }
}