* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #f3faf9;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-size: 3.7333333333vw;
  line-height: 1.8;
  color: #000000;
}
body.is-fixed {
  overflow-y: hidden;
}

img {
  display: block;
  width: 100%;
}

a {
  text-decoration: none;
}
a.disabled {
  pointer-events: none;
}

ul {
  list-style-type: none;
}

@media print, (min-width: 768px) {
  body {
    font-size: 1.0248901903vw;
  }
  a[href*="tel:"] {
    pointer-events: none;
  }
}
@media screen and (min-width: 1366px) {
  body {
    font-size: 14px;
  }
}
.js-fadeup {
  visibility: hidden;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.7s ease;
}

.js-fadeup.is-inview {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}

.js-fadeup03 {
  visibility: hidden;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.5s ease;
}

.js-fadeup03.is-inview03 {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 3.4666666667vw 2.6666666667vw;
  z-index: 1000;
}
.l-main {
  overflow: hidden;
}

@media (min-width: 768px) {
  .l-header {
    padding: 1.8301610542vw 1.4641288433vw;
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 1366px) {
  .l-header {
    padding: 25px 20px;
  }
}
.js-text-effect__char {
  display: inline-block;
  opacity: 0;
  transform: translateY(-40%);
  transition-property: opacity, transform;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.js-text-effect.is-inview .js-text-effect__char {
  opacity: 1;
  transform: translateY(0);
}

.c-header {
  background: #ffffff;
  border-radius: 2.1333333333vw;
  padding: 2.1333333333vw 2.6666666667vw;
  transition: 0.3s;
}
.c-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.c-header__logo {
  display: flex;
  align-items: center;
  gap: 3.2vw;
}
.c-header__logo__item[data-item="1"] {
  width: 26.4vw;
}
.c-header__logo__item[data-item="2"] {
  width: 35.0666666667vw;
}
.c-header__pcnav {
  display: none;
}
.c-header.is-scrolled {
  box-shadow: 0 1.0666666667vw 2.6666666667vw rgba(31, 105, 94, 0.15);
}
.c-spmenubutton {
  position: fixed;
  top: 3.4666666667vw;
  right: 2.6666666667vw;
  width: 10.1333333333vw;
  height: 10.1333333333vw;
  background: #ffffff;
  border-radius: 2.1333333333vw;
  z-index: 1400;
}
.c-spmenubutton__bar {
  display: block;
  width: 5.3333333333vw;
  height: 0.2666666667vw;
  border-radius: 0.2666666667vw;
  background: #008370;
  position: absolute;
  top: 50%;
  left: 50%;
  transition: 0.3s;
}
.c-spmenubutton__bar[data-item="1"] {
  transform: translate(-50%, -500%);
}
.c-spmenubutton__bar[data-item="2"] {
  transform: translate(-50%, -50%);
}
.c-spmenubutton__bar[data-item="3"] {
  transform: translate(-50%, 400%);
}
.c-spmenubutton.is-active .c-spmenubutton__bar {
  width: 4vw;
}
.c-spmenubutton.is-active .c-spmenubutton__bar[data-item="1"] {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-spmenubutton.is-active .c-spmenubutton__bar[data-item="2"] {
  opacity: 0;
}
.c-spmenubutton.is-active .c-spmenubutton__bar[data-item="3"] {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-spmenu {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #00a08e;
  z-index: 1200;
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
}
.c-spmenu__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 21.3333333333vw;
}
.c-spmenu__list__item + .c-spmenu__list__item {
  margin-top: 10.6666666667vw;
}
.c-spmenu__list__text {
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.4;
  color: #ffffff;
}
.c-spmenu__button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 78.6666666667vw;
  background: #fabf00;
  border-radius: 2.1333333333vw;
  padding: 3.7333333333vw 6.4vw 3.7333333333vw 14.9333333333vw;
}
.c-spmenu__button__text {
  font-weight: 700;
  font-size: 4.2666666667vw;
  line-height: 1.8;
  color: #000000;
}
.c-spmenu__button__arrow {
  width: 1.8666666667vw;
}
.c-spmenu.is-active {
  visibility: visible;
  opacity: 1;
}
.c-consultation {
  display: flex;
  justify-content: center;
}
.c-consultation__inner {
  width: 89.3333333333vw;
  position: relative;
}
.c-consultation__content {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.c-consultation__content__imgarea {
  padding-left: 6.4vw;
}
.c-consultation__content__textarea {
  margin-top: 4.8vw;
}
.c-consultation__img {
  width: 79.7333333333vw;
}
.c-consultation__text {
  padding-left: 6.4vw;
  font-weight: 700;
  font-size: 6.4vw;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #ffffff;
}
.c-consultation__text .small {
  font-size: 4.8vw;
}
.c-consultation__text .middle {
  font-size: 5.3333333333vw;
  letter-spacing: 0;
}
.c-consultation__button {
  display: flex;
  justify-content: center;
  margin-top: 4.5333333333vw;
}
.c-consultation__button__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 78.6666666667vw;
  height: 21.3333333333vw;
  background: #fabf00;
  border-radius: 2.1333333333vw;
  padding: 0 6.4vw 0 11.2vw;
  box-shadow: 0 1.0666666667vw 2.6666666667vw rgba(31, 105, 94, 0.15);
}
.c-consultation__button__link__text {
  font-weight: 700;
  font-size: 4.8vw;
  line-height: 1.8;
  color: #2b2b2b;
}
.c-consultation__button__link__arrow {
  width: 1.8666666667vw;
}
.c-consultation__button__link:hover .c-consultation__button__link__text {
  opacity: 0.7;
}
.c-consultation__button__link:hover .c-consultation__button__link__arrow {
  opacity: 0.7;
}
.c-consultation__character {
  width: 21.8133333333vw;
  position: absolute;
  top: 50.688vw;
  left: 7.0586666667vw;
  z-index: 10;
  transform: rotate(-10deg);
}
.c-footer {
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.2vw;
  padding: 7.2vw 0 14.6666666667vw;
}
.c-footer__logo {
  display: block;
  width: 33.3333333333vw;
}
.c-footer__text {
  font-weight: 400;
  font-size: 2.6666666667vw;
  line-height: 1.8;
  color: #2b2b2b;
}

@media (min-width: 768px) {
  .c-header {
    width: 100%;
    max-width: 98.243045388vw;
    border-radius: 0.5856515373vw;
    padding: 0.7320644217vw 1.4641288433vw;
  }
  .c-header__logo {
    gap: 1.0248901903vw;
    transition: 0.3s;
  }
  .c-header__logo__item[data-item="1"] {
    width: 8.5651537335vw;
  }
  .c-header__logo__item[data-item="2"] {
    width: 11.3469985359vw;
  }
  .c-header__logo:hover {
    opacity: 0.7;
  }
  .c-header__pcnav {
    display: flex;
    align-items: center;
    gap: 1.4641288433vw;
  }
  .c-header__pcnav__list {
    display: flex;
    align-items: center;
    gap: 2.196193265vw;
  }
  .c-header__pcnav__list__link {
    transition: 0.3s;
  }
  .c-header__pcnav__list__link:hover {
    opacity: 0.7;
  }
  .c-header__pcnav__list__text {
    font-weight: 700;
    font-size: 1.0248901903vw;
    line-height: 1.4;
    color: #008370;
  }
  .c-header__pcnav__button {
    display: flex;
    align-items: center;
    gap: 0.439238653vw;
    background: #fabf00;
    border-radius: 0.5856515373vw;
    padding: 0.7320644217vw 0.7320644217vw 0.7320644217vw 0.878477306vw;
    transition: 0.3s;
  }
  .c-header__pcnav__button__text {
    font-weight: 700;
    font-size: 1.0248901903vw;
    line-height: 1.4;
    color: #000000;
  }
  .c-header__pcnav__button__arrow {
    width: 0.5124450952vw;
  }
  .c-header__pcnav__button:hover {
    opacity: 0.7;
  }
  .c-header.is-scrolled {
    box-shadow: 0 0.2928257687vw 0.7320644217vw rgba(31, 105, 94, 0.15);
  }
  .c-spmenubutton {
    display: none;
  }
  .c-consultation__inner {
    width: 95.60761347vw;
  }
  .c-consultation__content__imgarea {
    padding-left: 0;
    position: absolute;
    top: 0;
    right: 4.6120058565vw;
  }
  .c-consultation__content__textarea {
    margin-top: 0;
    padding-top: 14.7877013177vw;
    padding-left: 12.5183016105vw;
  }
  .c-consultation__img {
    width: 41.8740849195vw;
  }
  .c-consultation__text {
    padding-left: 0;
    font-size: 2.3426061493vw;
    color: #008370;
  }
  .c-consultation__text .small {
    font-size: 1.6105417277vw;
  }
  .c-consultation__text .middle {
    font-size: 2.3426061493vw;
    letter-spacing: 0.04em;
  }
  .c-consultation__button {
    justify-content: flex-start;
    margin-top: 1.6105417277vw;
  }
  .c-consultation__button__link {
    width: 26.3543191801vw;
    height: 5.8565153734vw;
    border-radius: 0.5856515373vw;
    padding: 0 2.3426061493vw 0 5.1244509517vw;
    box-shadow: 0 0.2928257687vw 0.7320644217vw rgba(31, 105, 94, 0.15);
    transition: 0.3s;
  }
  .c-consultation__button__link__text {
    font-size: 1.317715959vw;
    transition: 0.3s;
  }
  .c-consultation__button__link__arrow {
    width: 0.5124450952vw;
    transition: 0.3s;
  }
  .c-consultation__button__link:hover {
    background: #fcd26a;
  }
  .c-consultation__button__link:hover .c-consultation__button__link__text {
    opacity: 0.5;
  }
  .c-consultation__button__link:hover .c-consultation__button__link__arrow {
    opacity: 0.5;
  }
  .c-consultation__character {
    width: 11.1273792094vw;
    top: 23.4260614934vw;
    left: 39.6778916545vw;
    transform: rotate(0);
  }
  .c-footer {
    gap: 0.878477306vw;
    padding: 2.196193265vw 0 4.2459736457vw;
  }
  .c-footer__logo {
    width: 9.1508052709vw;
    transition: 0.3s;
  }
  .c-footer__logo:hover {
    opacity: 0.7;
  }
  .c-footer__text {
    font-size: 0.878477306vw;
  }
}
@media (min-width: 1366px) {
  .c-header {
    max-width: 1342px;
    border-radius: 8px;
    padding: 10px 20px;
  }
  .c-header__logo {
    gap: 14px;
  }
  .c-header__logo__item[data-item="1"] {
    width: 117px;
  }
  .c-header__logo__item[data-item="2"] {
    width: 155px;
  }
  .c-header__pcnav {
    gap: 20px;
  }
  .c-header__pcnav__list {
    gap: 30px;
  }
  .c-header__pcnav__list__text {
    font-size: 14px;
  }
  .c-header__pcnav__button {
    gap: 6px;
    border-radius: 8px;
    padding: 10px 10px 10px 12px;
  }
  .c-header__pcnav__button__text {
    font-size: 14px;
  }
  .c-header__pcnav__button__arrow {
    width: 7px;
  }
  .c-header.is-scrolled {
    box-shadow: 0 4px 10px rgba(31, 105, 94, 0.15);
  }
  .c-consultation__inner {
    width: 1306px;
  }
  .c-consultation__content__imgarea {
    right: 63px;
  }
  .c-consultation__content__textarea {
    padding-top: 202px;
    padding-left: 171px;
  }
  .c-consultation__img {
    width: 572px;
  }
  .c-consultation__text {
    font-size: 32px;
  }
  .c-consultation__text .small {
    font-size: 22px;
  }
  .c-consultation__text .middle {
    font-size: 32px;
  }
  .c-consultation__button {
    margin-top: 22px;
  }
  .c-consultation__button__link {
    width: 360px;
    height: 80px;
    border-radius: 8px;
    padding: 0 32px 0 70px;
    box-shadow: 0 4px 10px rgba(31, 105, 94, 0.15);
  }
  .c-consultation__button__link__text {
    font-size: 18px;
  }
  .c-consultation__button__link__arrow {
    width: 7px;
  }
  .c-consultation__character {
    width: 152px;
    top: 320px;
    left: 542px;
    transform: rotate(0);
  }
  .c-footer {
    gap: 12px;
    padding: 30px 0 58px;
  }
  .c-footer__logo {
    width: 125px;
  }
  .c-footer__text {
    font-size: 12px;
  }
}
.u-d--none--sp {
  display: none !important;
}

.u-d--none02--sp {
  display: none !important;
}

.u-d--none03--sp {
  display: none !important;
}

.u-d--none04--sp {
  display: none !important;
}

@media print, (min-width: 768px) {
  .u-d--none--pc {
    display: none !important;
  }
  .u-d--none--sp {
    display: inline !important;
  }
  .u-d--none02--sp {
    display: block !important;
  }
  .u-d--none03--sp {
    display: flex !important;
  }
  .u-d--none04--sp {
    display: inline-block !important;
  }
}
