@charset "UTF-8";
.js-bounce {
  max-width: initial;
}

/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li,
table,
td,
th {
  margin: 0;
  padding: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

ul, ol {
  list-style: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a, a:hover {
  text-decoration: none;
  color: initial;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
table {
  border-collapse: collapse;
}

html {
  font-size: 62.5%;
}
@media screen and (max-width: 326px) {
  html {
    font-size: 55.25%;
  }
}

body {
  position: relative;
  font-size: clamp(1.3rem, 1.4vw, 2rem);
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-weight: 500;
  line-height: 2;
  color: #414141;
  background-color: #FFEEAD;
}

main {
  position: relative;
  overflow-x: hidden;
}

footer {
  overflow-x: hidden;
}

h1, h2, h3, h4, h5 {
  font-size: initial;
  font-weight: initial;
}

a {
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
}

@-webkit-keyframes wave_r {
  from {
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
  }
  to {
    -webkit-transform: translateX(-100%) translateZ(0);
            transform: translateX(-100%) translateZ(0);
  }
}

@keyframes wave_r {
  from {
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
  }
  to {
    -webkit-transform: translateX(-100%) translateZ(0);
            transform: translateX(-100%) translateZ(0);
  }
}
@-webkit-keyframes wave_l {
  from {
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
  }
  to {
    -webkit-transform: translateX(100%) translateZ(0);
            transform: translateX(100%) translateZ(0);
  }
}
@keyframes wave_l {
  from {
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
  }
  to {
    -webkit-transform: translateX(100%) translateZ(0);
            transform: translateX(100%) translateZ(0);
  }
}
.l-header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 4;
}

.l-wrapper {
  width: 100%;
  margin: 0 auto;
}

.l-wave {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0;
  width: 100vw;
  margin-top: -1px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-wave {
    width: 800px;
  }
}
.l-wave._btm img {
  margin-bottom: -1px;
}
.l-wave img {
  width: 100%;
  max-width: initial;
  height: auto;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-animation: wave_r 20s linear infinite;
          animation: wave_r 20s linear infinite;
}
.l-wave._rev {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.l-wave._rev img {
  -webkit-animation: wave_l 20s linear infinite;
          animation: wave_l 20s linear infinite;
}

.l-inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: calc(100% - 30px);
  }
}

.l-container {
  position: relative;
  padding: 0 50px 50px 50px;
}
@media screen and (max-width: 767px) {
  .l-container {
    padding: 0 16px 16px 16px;
  }
}
.l-container._yl::after {
  background-color: #FFF5D0;
}
.l-container::after {
  content: "";
  position: absolute;
  display: block;
  background-color: #fff;
  width: 100%;
  height: calc(100% - 50px);
  top: 50px;
  left: 0;
  border-radius: 50px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .l-container::after {
    border-radius: 32px;
  }
}
.l-container__desc {
  position: relative;
  margin-top: 50px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .l-container__desc {
    margin-top: 24px;
  }
}
.l-container__corner__top::before {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  top: 45px;
  left: -5px;
  background: url("../assets/common/img/corner-tl.svg") no-repeat 50% 50%/contain;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .l-container__corner__top::before {
    width: 32px;
    height: 32px;
  }
}
.l-container__corner__top::after {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  top: 45px;
  right: -5px;
  background: url("../assets/common/img/corner-tr.svg") no-repeat 50% 50%/contain;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .l-container__corner__top::after {
    width: 32px;
    height: 32px;
  }
}
.l-container__corner__btm::before {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  bottom: -5px;
  left: -5px;
  background: url("../assets/common/img/corner-bl.svg") no-repeat 50% 50%/contain;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .l-container__corner__btm::before {
    width: 32px;
    height: 32px;
  }
}
.l-container__corner__btm::after {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 50px;
  bottom: -5px;
  right: -5px;
  background: url("../assets/common/img/corner-br.svg") no-repeat 50% 50%/contain;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .l-container__corner__btm::after {
    width: 32px;
    height: 32px;
  }
}

.l-content {
  position: relative;
  overflow: hidden;
}
.l-content::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 20%;
  left: -10%;
  top: 0;
  z-index: 1;
  background: url("../assets/common/img/bg-dots-l.svg") repeat-y 100% 0%/20vw;
}
@media screen and (max-width: 767px) {
  .l-content::before {
    width: 30%;
    left: -15%;
  }
}
.l-content::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 20%;
  right: -10%;
  top: 5%;
  z-index: 1;
  background: url("../assets/common/img/bg-dots-r.svg") repeat-y 0% 0%/20vw;
}
@media screen and (max-width: 767px) {
  .l-content::after {
    width: 30%;
    right: -15%;
  }
}
.l-content section {
  padding: 150px 0 0 0;
}
@media screen and (max-width: 1200px) {
  .l-content section {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .l-content section {
    padding-top: 48px;
  }
}
.l-content section:last-of-type {
  padding-bottom: 150px;
}
@media screen and (max-width: 1200px) {
  .l-content section:last-of-type {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .l-content section:last-of-type {
    padding-bottom: 48px;
  }
}

.l-pagetop {
  width: 100%;
  padding: 150px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-pagetop {
    padding: 100px 0;
  }
}
@media screen and (max-width: 767px) {
  .l-pagetop {
    padding: 50px;
  }
}
.l-pagetop__wrapper {
  background-color: #fff;
}

.l-tb-wrap {
  display: none;
}
@media screen and (max-width: 1200px) {
  .l-tb-wrap {
    display: block;
  }
}

.l-tbp-wrap {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 960px) {
  .l-tbp-wrap {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .l-tbp-wrap {
    display: none;
  }
}

.l-tbp-nowrap {
  display: block;
}
@media screen and (orientation: portrait) and (max-width: 960px) {
  .l-tbp-nowrap {
    display: none;
  }
}

.l-sp-wrap {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-sp-wrap {
    display: block;
  }
}

.l-sp-nowrap {
  display: block;
}
@media screen and (max-width: 767px) {
  .l-sp-nowrap {
    display: none;
  }
}

.l-breadcrumbs {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 8px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  z-index: 2;
  font-size: smaller;
  font-weight: 500;
}
@media screen and (max-width: 1200px) {
  .l-breadcrumbs {
    margin-bottom: 20px;
  }
}
.l-breadcrumbs a {
  color: #E68543;
}
.l-breadcrumbs a:hover {
  color: #6CBB60;
}
.l-breadcrumbs a:hover span.home::before {
  background-color: #6CBB60;
}
.l-breadcrumbs span.home {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  align-items: center;
}
.l-breadcrumbs span.home::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  aspect-ratio: 1/1;
  background-color: #E68543;
  -webkit-mask-image: url("../assets/common/img/icon-home.svg");
          mask-image: url("../assets/common/img/icon-home.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
}

.l-footer {
  text-align: center;
  overflow: hidden;
}
.l-footer__content {
  position: relative;
  background-color: #fff;
  padding: 50px 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .l-footer__content {
    padding: 24px 15px;
  }
}
.l-footer__content::before {
  content: "";
  display: block;
  position: absolute;
  width: 25%;
  aspect-ratio: 1/1;
  bottom: -5%;
  left: -5%;
  background: url("../assets/common/img/flower-yllt01.svg") no-repeat 50% 50%/contain;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .l-footer__content::before {
    width: 30%;
  }
}
.l-footer__content::after {
  content: "";
  display: block;
  position: absolute;
  width: 20%;
  aspect-ratio: 1/1;
  top: 20%;
  right: -5%;
  background: url("../assets/common/img/flower-yllt02.svg") no-repeat 50% 50%/contain;
  z-index: -1;
}
.l-footer__nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (orientation: portrait) and (max-width: 960px) {
  .l-footer__nav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
}
.l-footer__nav__list a {
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
  color: #E68543;
}
.l-footer__nav__list a:hover {
  color: #6CBB60;
}
.l-footer__logo {
  display: block;
  width: 10%;
  min-width: 150px;
  margin: 50px auto;
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    margin: 24px auto;
  }
}
.l-footer__logo:hover {
  opacity: 0.7;
}
.l-footer__copyright {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    margin-top: 24px;
  }
}
.l-footer__heath {
  margin-top: 30px;
}
.l-footer__heath__ttl {
  margin-bottom: 30px;
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
  font-weight: 700;
  color: #E68543;
}

.c-btn-contact {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  color: #fff;
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
  font-weight: 700;
  background: url("../assets/common/img/orange-tex.webp") repeat 50% 50%/600px;
  padding: 16px 32px;
  border-radius: 16px;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-btn-contact {
    gap: 8px;
    padding: 8px 24px;
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.6;
    border-radius: 8px;
    -webkit-box-shadow: 4px 4px 4px rgba(65, 65, 65, 0.15);
            box-shadow: 4px 4px 4px rgba(65, 65, 65, 0.15);
  }
}
.c-btn-contact br {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-btn-contact br {
    display: block;
  }
}
.c-btn-contact._ex {
  font-size: clamp(2.2rem, 2.1vw, 4rem);
  padding: 24px 40px;
}
@media screen and (max-width: 767px) {
  .c-btn-contact._ex {
    font-size: 1.6rem;
    padding: 8px 24px;
  }
}
.c-btn-contact:hover {
  color: #fff;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
}
@media screen and (max-width: 767px) {
  .c-btn-contact:hover {
    -webkit-box-shadow: 4px 4px 4px rgba(65, 65, 65, 0);
            box-shadow: 4px 4px 4px rgba(65, 65, 65, 0);
  }
}
.c-btn-contact:hover::after {
  opacity: 0;
}
.c-btn-contact::before {
  content: "";
  position: relative;
  width: clamp(2.2rem, 2.1vw, 4rem);
  aspect-ratio: 2/1.57;
  background-color: #fff;
  -webkit-mask-image: url("../assets/common/img/icon-mail.svg");
          mask-image: url("../assets/common/img/icon-mail.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  z-index: 3;
}
.c-btn-contact::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../assets/common/img/green-tex.webp") repeat 50% 50%/600px;
  border-radius: 16px;
  opacity: 1;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-btn-contact::after {
    background-size: 300px;
    border-radius: 8px;
  }
}
.c-btn-contact span {
  position: relative;
  white-space: nowrap;
  z-index: 3;
}

.c-btn-access {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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;
  font-weight: 700;
  height: 100%;
  aspect-ratio: 1/1;
  padding: 32px;
  background: url("../assets/common/img/orange-tex.webp") repeat 50% 50%/600px;
  border-radius: 50%;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .c-btn-access {
    padding: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-access {
    -webkit-box-shadow: 4px 4px 4px rgba(65, 65, 65, 0.15);
            box-shadow: 4px 4px 4px rgba(65, 65, 65, 0.15);
    background-size: 300px;
  }
}
.c-btn-access:hover {
  color: #fff;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
}
@media screen and (max-width: 767px) {
  .c-btn-access:hover {
    -webkit-box-shadow: 4px 4px 4px rgba(65, 65, 65, 0);
            box-shadow: 4px 4px 4px rgba(65, 65, 65, 0);
  }
}
.c-btn-access:hover::after {
  opacity: 0;
}
.c-btn-access::before {
  content: "";
  position: relative;
  width: clamp(2.2rem, 2.1vw, 4rem);
  aspect-ratio: 2/1.856;
  background-color: #fff;
  -webkit-mask-image: url("../assets/common/img/icon-map.svg");
          mask-image: url("../assets/common/img/icon-map.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  z-index: 3;
}
.c-btn-access::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../assets/common/img/green-tex.webp") repeat 50% 50%/600px;
  border-radius: 50%;
  opacity: 1;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  z-index: 2;
}
.c-btn-access span {
  position: relative;
  white-space: nowrap;
  z-index: 3;
  gap: 16px;
  color: #fff;
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
}
@media screen and (max-width: 767px) {
  .c-btn-access span {
    font-size: 1.4rem;
  }
}

.c-btn-heath {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 20px;
  padding: 16px 32px;
  color: #CF76AD;
  font-weight: 700;
  background-color: #FFF5D0;
  border-radius: 16px;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .c-btn-heath {
    padding: 16px;
  }
}
.c-btn-heath._top {
  display: block;
}
.c-btn-heath:hover {
  background-color: #FFEEAD;
  color: #CF76AD;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
}
.c-btn-heath:hover p {
  color: #2A87A9;
}
.c-btn-heath p {
  color: #CF76AD;
}
@media screen and (max-width: 767px) {
  .c-btn-heath p {
    font-size: smaller;
  }
}
.c-btn-heath p span {
  display: block;
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .c-btn-heath p span {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.c-btn-heath img {
  width: clamp(60px, 5vw, 100px);
  margin: 0 auto;
}

.c-btn-grn {
  display: inline-block;
  position: relative;
  padding: 8px 32px;
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
  font-weight: 700;
  color: #fff;
  background: url("../assets/common/img/orange-tex.webp") repeat 50% 50%/600px;
  border-radius: 50px;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
}
.c-btn-grn:hover {
  color: #fff;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
}
.c-btn-grn:hover::after {
  opacity: 0;
}
.c-btn-grn::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../assets/common/img/green-tex.webp") repeat 50% 50%/600px;
  border-radius: 30px;
  opacity: 1;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  z-index: 2;
}
.c-btn-grn span {
  position: relative;
  white-space: nowrap;
  z-index: 3;
}

.c-btn-btt {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  bottom: 50px;
  right: 50px;
  padding: 8px;
  aspect-ratio: 1/1;
  font-weight: 700;
  color: #fff;
  background: url("../assets/common/img/orange-tex.webp") repeat 0% 0%/600px;
  border-radius: 50%;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
  z-index: 3;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .c-btn-btt {
    -webkit-box-shadow: 4px 4px 4px rgba(65, 65, 65, 0.15);
            box-shadow: 4px 4px 4px rgba(65, 65, 65, 0.15);
    background-size: 300px;
    bottom: 50px;
    right: 15px;
  }
}
.c-btn-btt:hover {
  color: #fff;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
}
.c-btn-btt:hover::after {
  opacity: 0;
}
.c-btn-btt::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../assets/common/img/green-tex.webp") repeat 0% 0%/600px;
  border-radius: 50%;
  opacity: 1;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-btn-btt::after {
    background-size: 300px;
  }
}
.c-btn-btt._is-scrolled {
  opacity: 1;
}
.c-btn-btt span {
  position: relative;
  white-space: nowrap;
  z-index: 3;
}

.c-btn-tel {
  position: relative;
  display: inline-block;
  padding: 16px 32px;
  background: url("../assets/common/img/orange-tex.webp") repeat 50% 50%/600px;
  border-radius: 16px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-btn-tel {
    padding: 8px 24px;
    background-size: 300px;
    border-radius: 8px;
  }
}
.c-btn-tel:hover {
  color: #fff;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
}
@media screen and (max-width: 767px) {
  .c-btn-tel:hover {
    -webkit-box-shadow: 4px 4px 4px rgba(65, 65, 65, 0);
            box-shadow: 4px 4px 4px rgba(65, 65, 65, 0);
  }
}
.c-btn-tel:hover::after {
  opacity: 0;
}
.c-btn-tel::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../assets/common/img/green-tex.webp") repeat 50% 50%/600px;
  border-radius: 16px;
  opacity: 1;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-btn-tel::after {
    background-size: 300px;
    border-radius: 8px;
  }
}
.c-btn-tel p {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  font-size: clamp(2.2rem, 2.1vw, 4rem);
  z-index: 3;
}
.c-btn-tel p::before {
  content: "";
  position: relative;
  width: clamp(2.2rem, 2.1vw, 4rem);
  aspect-ratio: 2/1.57;
  background-color: #fff;
  -webkit-mask-image: url("../assets/common/img/icon-mail.svg");
          mask-image: url("../assets/common/img/icon-mail.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  z-index: 3;
}
.c-btn-tel span {
  position: relative;
  display: block;
  z-index: 3;
}

.c-btn-form {
  display: inline-block;
  margin: 0 auto;
  padding: 8px 32px;
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
  font-weight: 700;
  background-color: #6CBB60;
  color: #fff;
  border-radius: 50px;
  border: none;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0.15);
}
.c-btn-form:hover {
  background-color: #E68543;
  -webkit-box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
          box-shadow: 8px 8px 8px rgba(65, 65, 65, 0);
}

.c-ttl-sec {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-size: clamp(2.2rem, 2.1vw, 4rem);
  font-weight: 700;
  text-align: center;
  padding: 36px;
  background: url("../assets/common/img/orange-tex.webp") repeat 50% 50%/600px;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  line-height: 1;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-ttl-sec {
    padding: 24px;
  }
}
.c-ttl-sec span {
  display: block;
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
  font-weight: 500;
  color: #FFF5D0;
}
.c-ttl-sec._bal01 {
  -webkit-mask-image: url("../assets/common/img/mask-ttl01.svg");
          mask-image: url("../assets/common/img/mask-ttl01.svg");
  aspect-ratio: 1/0.483;
}
.c-ttl-sec._bal02 {
  -webkit-mask-image: url("../assets/common/img/mask-ttl02.svg");
          mask-image: url("../assets/common/img/mask-ttl02.svg");
  aspect-ratio: 1/0.464;
}
.c-ttl-sec._bal03 {
  -webkit-mask-image: url("../assets/common/img/mask-ttl03.svg");
          mask-image: url("../assets/common/img/mask-ttl03.svg");
  aspect-ratio: 2/1;
  padding: 36px 56px;
}
@media screen and (max-width: 767px) {
  .c-ttl-sec._bal03 {
    padding: 16px 40px;
  }
}

.c-ttl-grn {
  font-size: clamp(2.2rem, 2.1vw, 4rem);
  font-weight: 700;
  color: #6CBB60;
}
@media screen and (max-width: 767px) {
  .c-ttl-grn {
    font-size: 1.8rem;
  }
}

.c-ttl-or {
  font-size: clamp(2.2rem, 2.1vw, 4rem);
  font-weight: 700;
  color: #E68543;
}
@media screen and (max-width: 767px) {
  .c-ttl-or {
    font-size: 1.8rem;
  }
}
.c-ttl-or._s {
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
}

.c-ttl-bk {
  font-size: clamp(2.2rem, 2.1vw, 4rem);
  font-weight: 700;
  color: #414141;
}
@media screen and (max-width: 767px) {
  .c-ttl-bk {
    font-size: 1.8rem;
  }
}

.c-ttl-pagetop {
  font-size: clamp(3.2rem, 2.5vw, 5rem);
  font-weight: 700;
  color: #6CBB60;
}

.p-top {
  text-align: center;
}
.p-top__hero {
  position: relative;
  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-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #FADC65;
}
@media screen and (max-width: 767px) {
  .p-top__hero {
    min-height: 100dvh;
  }
}
.p-top__hero::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  height: 90%;
  aspect-ratio: 1/1;
  top: 5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #fff;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-top__hero::after {
    height: 90dvh;
  }
}
.p-top__hero__wave {
  position: relative;
  z-index: 2;
}
.p-top__hero__inner {
  width: 90%;
  margin: 0 auto;
  padding-bottom: 40px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-top__hero__inner {
    width: calc(100% - 30px);
  }
}
.p-top__hero__inner::before {
  content: "";
  position: absolute;
  height: 90%;
  width: 25%;
  left: -5%;
  top: 5%;
  z-index: 2;
  background: url("../assets/common/img/bg-dots-l.svg") no-repeat 50% 50%/contain;
}
@media screen and (max-width: 767px) {
  .p-top__hero__inner::before {
    width: 30%;
    left: -10%;
  }
}
.p-top__hero__inner::after {
  content: "";
  position: absolute;
  height: 90%;
  width: 25%;
  right: -5%;
  top: 5%;
  z-index: 2;
  background: url("../assets/common/img/bg-dots-r.svg") no-repeat 50% 50%/contain;
}
@media screen and (max-width: 767px) {
  .p-top__hero__inner::after {
    width: 30%;
    right: -10%;
  }
}
.p-top__hero__copy {
  font-size: clamp(2.2rem, 2.1vw, 4rem);
  font-weight: 700;
  line-height: 1.6;
  color: #E68543;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top__hero__copy {
    font-size: 1.6rem;
  }
}
.p-top__hero__copy br {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-top__hero__copy br {
    display: block;
  }
}
.p-top__hero__logo {
  width: 20%;
  margin: 50px auto;
}
@media screen and (orientation: portrait) and (max-width: 960px) {
  .p-top__hero__logo {
    width: 500px;
  }
}
@media screen and (max-width: 767px) {
  .p-top__hero__logo {
    width: 60%;
    margin: 24px auto;
  }
}
.p-top__hero__btns {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-top__hero__btns {
    gap: 24px;
  }
}
.p-top__hero__btns > * {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-top__hero__heath {
  position: absolute;
  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;
  gap: 16px;
  width: 15%;
  right: 5%;
  bottom: 80px;
  z-index: 3;
}
@media screen and (max-width: 1200px) {
  .p-top__hero__heath {
    width: 200px;
    right: 50px;
  }
}
@media screen and (orientation: portrait) and (max-width: 960px) {
  .p-top__hero__heath {
    position: relative;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    right: initial;
    bottom: initial;
    margin: 0 auto;
  }
}
.p-top__hero__heath p {
  padding: 16px;
  font-size: small;
  font-weight: 500;
  line-height: 1.6;
  text-align: left;
  background-color: #FFF5D0;
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .p-top__hero__heath p {
    padding: 8px;
  }
}
.p-top__intro__container {
  z-index: 2;
}
.p-top__intro__container__logo {
  width: 30%;
  margin: 32px auto;
}
@media screen and (max-width: 767px) {
  .p-top__intro__container__logo {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-top__intro__container__desc {
    text-align: left;
  }
}
.p-top__intro__container__desc br {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-top__intro__container__desc br {
    display: none;
  }
}
.p-top__service__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  margin: 50px 0;
}
@media screen and (max-width: 767px) {
  .p-top__service__content {
    grid-template-columns: 1fr;
    width: 70%;
    margin: 24px auto 0 auto;
  }
}
.p-top__service__content__item {
  position: relative;
  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;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
}
.p-top__service__content__item img {
  width: 20%;
  margin: 0 auto 30px auto;
}
@media screen and (max-width: 767px) {
  .p-top__service__content__item img {
    margin-bottom: 0px;
  }
}
.p-top__service__content__item p {
  font-size: clamp(2.2rem, 2.1vw, 4rem);
  font-weight: 700;
  line-height: 1.6;
  color: #E68543;
}
.p-top__service__content__item::before {
  content: "";
  display: block;
  position: absolute;
  width: 25%;
  top: 5%;
  left: -5%;
  z-index: 2;
}
.p-top__service__content__item::after {
  content: "";
  display: block;
  position: absolute;
  width: 20%;
  bottom: 5%;
  right: 5%;
  z-index: 2;
}
.p-top__service__content__item._day::before {
  aspect-ratio: 1/1;
  background: url("../assets/top/img/flower-or.svg") no-repeat 50% 50%/contain;
}
.p-top__service__content__item._day::after {
  aspect-ratio: 1/1;
  background: url("../assets/top/img/flower-yl.svg") no-repeat 50% 50%/contain;
}
.p-top__service__content__item._houmon::before {
  aspect-ratio: 1/0.856;
  background: url("../assets/top/img/flower-yg.svg") no-repeat 50% 50%/contain;
}
.p-top__service__content__item._houmon::after {
  aspect-ratio: 1/1;
  background: url("../assets/top/img/flower-grn.svg") no-repeat 50% 50%/contain;
}
.p-top__contact {
  position: relative;
  z-index: 2;
}
.p-top__contact p {
  font-size: clamp(2.2rem, 2.1vw, 4rem);
  font-weight: 700;
  color: #6CBB60;
}
@media screen and (max-width: 767px) {
  .p-top__contact p {
    font-size: 1.8rem;
  }
}
.p-top__contact p:last-of-type {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .p-top__contact p:last-of-type {
    margin-bottom: 24px;
  }
}
.p-top__access {
  z-index: 2;
}
.p-top__access__map {
  position: relative;
  margin-top: 50px;
  border-radius: 16px;
  background-color: #FFF5D0;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-top__access__map {
    margin-top: 24px;
  }
}
.p-top__access__map::after {
  content: "";
  position: absolute;
  display: block;
  width: 15%;
  aspect-ratio: 5/4;
  top: -200px;
  right: 5%;
  background: url("../assets/common/img/boy.webp") no-repeat 50% 50%/contain;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-top__access__map::after {
    width: 30%;
    top: -76px;
    right: 3%;
  }
}
.p-top__access__map__gmap {
  width: 100%;
  aspect-ratio: 16/9;
  border: 0;
}
@media screen and (max-width: 767px) {
  .p-top__access__map__gmap {
    aspect-ratio: 1/1;
  }
}

.p-contact {
  position: relative;
  z-index: 2;
}
.p-contact > br {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-contact > br {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-contact > p {
    text-align: left;
  }
}
.p-contact__content {
  margin-bottom: 50px;
  text-align: center;
}
.p-contact__content:first-of-type {
  margin-top: 50px;
}
.p-contact__content:last-of-type {
  margin-bottom: 0;
}
.p-contact__content a {
  margin-top: 32px;
}
.p-contact__form {
  position: relative;
  text-align: left;
  margin: 0 auto;
  width: 100%;
  max-width: 800px;
}
.p-contact__form input[type=text], .p-contact__form input[type=tel], .p-contact__form input[type=email], .p-contact__form textarea {
  border: none;
  padding: 8px;
  background-color: #FFF5D0;
  border: 1px solid #414141;
  border-radius: 8px;
  width: 100%;
}
.p-contact__form .must {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-size: clamp(1.8rem, 1.65vw, 2.4rem);
}
@media screen and (max-width: 767px) {
  .p-contact__form .must {
    font-size: 1.6rem;
  }
}
.p-contact__form .must::after {
  content: "必須";
  font-size: smaller;
  background-color: #E68543;
  color: #fff;
  padding: 0 8px;
}
@media screen and (max-width: 767px) {
  .p-contact__form .must::after {
    font-size: 1rem;
  }
}
.p-contact__form .wpcf7-radio {
  display: block;
}
.p-contact__form .wpcf7-radio > span {
  display: block;
}
.p-contact__form__desc {
  margin: 24px 0;
}
.p-contact__form__pp {
  text-align: center !important;
  margin-bottom: 50px !important;
}
@media screen and (max-width: 767px) {
  .p-contact__form__pp {
    margin-bottom: 24px;
  }
}
.p-contact__form__pp__desc {
  margin: 32px 0;
}
.p-contact__form__pp__accept {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
}
.p-contact__form__pp__accept::before {
  display: inline-block;
  position: absolute;
  width: 40px;
  height: 40px;
  margin-left: -48px;
  background: url(../assets/common/img/checkoff.png) no-repeat 0 0;
  vertical-align: middle;
  content: "";
  -webkit-transform: translateY(-20px);
          transform: translateY(-20px);
  top: 50%;
}
.p-contact__form__pp__accept:checked::before {
  background: url(../assets/common/img/checkon.png) no-repeat 0 0;
}
.p-contact__form__pp__accept__label {
  vertical-align: middle;
  margin-bottom: 50px;
}
.p-contact__form__pp__accept__confirm {
  position: relative;
}
.p-contact__form__pp__accept__confirm::before {
  display: inline-block;
  position: absolute;
  width: 40px;
  height: 40px;
  margin-left: -48px;
  background: url(../assets/common/img/checkon.png) no-repeat 0 0;
  vertical-align: middle;
  content: "";
  -webkit-transform: translateY(-20px);
          transform: translateY(-20px);
  top: 50%;
}
.p-contact__form__input {
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  text-align: center;
}
.p-contact__form__input > div {
  margin-bottom: 24px;
  text-align: left;
}
.p-contact__form__input._is-hidden {
  display: none;
  pointer-events: none;
}
.p-contact__form__confirm {
  display: none;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  pointer-events: none;
}
.p-contact__form__confirm._is-active {
  display: block;
  opacity: 1;
  pointer-events: all;
}
.p-contact__form__confirm > div {
  margin-bottom: 24px;
}
.p-contact__form__confirm__btn {
  text-align: center;
}
.p-contact__form__confirm__btn:first-child {
  margin-right: 24px;
}
.p-contact__form__complete {
  display: none;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  transition: all 0.4s cubic-bezier(0, 0.51, 1, 0.63);
  pointer-events: none;
  font-size: clamp(4rem, 5vw, 10rem);
  color: #E68543;
  text-align: left;
}
.p-contact__form__complete p {
  white-space: nowrap;
  opacity: 0.3;
  text-align: center;
}
.p-contact__form__complete._is-active {
  display: block;
  opacity: 1;
  pointer-events: all;
}

.wpcf7-response-output {
  display: none !important;
}

.u-m-b_s {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .u-m-b_s {
    margin-bottom: 10px;
  }
}

.u-m-b_ss {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .u-m-b_ss {
    margin-bottom: 8px;
  }
}

.u-m-b_m {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .u-m-b_m {
    margin-bottom: 30px;
  }
}

.u-m-b_l {
  margin-bottom: 100px;
}

.u-t-a_r {
  text-align: right;
}

.u-t-a_c {
  text-align: center;
}

.u-t-a_l {
  text-align: left;
}/*# sourceMappingURL=style.css.map */